Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FGV 2024

Banco de DadosPostgreSQL
Código
fg086699
Banca
FGV
Órgão
MF
Ano
2024
Nível
Superior
Cargo
Auditor Federal de Finanças e Controle - Área de Tecnologia da Informação (Operação e Infraestrutura) - manhã
No contexto do PostgreSQL, analise o esquema de um comando a seguir.CREATE ... nomeLOCATION 'path completo';Especificados o nome e o path completo, o texto que pode completar o trecho pontilhado para que esse comando seja válido é
  1. ADATABASE.
  2. BINDEX.
  3. CTABLE.
  4. DTABLESPACE.
  5. EUSER.
Revelar gabarito e comentário

GabaritoD — TABLESPACE.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

PostgreSQL: Comando CREATE com LOCATION

Gabarito: letra D (TABLESPACE). No PostgreSQL, o comando que permite especificar um caminho completo (LOCATION 'path') é o CREATE TABLESPACE, que define uma área de armazenamento fora do diretório padrão do banco. Nenhum dos outros comandos -- DATABASE, INDEX, TABLE ou USER -- utiliza a cláusula LOCATION para indicar um caminho físico.

A banca cobra o conhecimento da sintaxe específica de criação de tablespaces, um recurso presente desde a versão 8.0 do PostgreSQL (conforme histórico do sistema).

1CREATE TABLESPACE
LOCATION 'caminho' (obrigatório)
2CREATE DATABASE
Não tem LOCATION
Usa TEMPLATE, ENCODING
3CREATE TABLE / INDEX
Não tem LOCATION
Usam TABLESPACE (não LOCATION)
4CREATE USER / ROLE
Não tem LOCATION
Gerenciamento de papéis
Comandos DDL no PostgreSQL
LEVELsoulevel.com.br
Comandos DDL no PostgreSQL: CREATE TABLESPACE (LOCATION 'caminho' (obrigatório)); CREATE DATABASE (Não tem LOCATION, Usa TEMPLATE, ENCODING); CREATE TABLE / INDEX (Não tem LOCATION, Usam TABLESPACE (não LOCATION)); CREATE USER / ROLE (Não tem LOCATION, Gerenciamento de papéis)

Alternativa A — ❌ Incorreta

CREATE DATABASE não possui cláusula LOCATION. A sintaxe padrão é CREATE DATABASE nome [WITH] [OWNER [=] user] [ENCODING [=] encoding] ...; o local físico das bases é gerenciado pelo servidor, não por path direto no comando.

Alternativa B — ❌ Incorreta

CREATE INDEX não aceita LOCATION. Os índices são criados no tablespace padrão do banco ou em um tablespace específico, mas isso é definido pela cláusula TABLESPACE, não por LOCATION.

Alternativa C — ❌ Incorreta

CREATE TABLE também não usa LOCATION. Assim como índices, as tabelas podem ser armazenadas em um tablespace via cláusula TABLESPACE, mas o path não é informado diretamente na criação da tabela.

Alternativa D — ✅ Correta ⟵ GABARITO

CREATE TABLESPACE nome LOCATION 'caminho'; é a sintaxe exata para criar um tablespace. O LOCATION obrigatoriamente recebe o caminho absoluto do diretório onde os objetos daquele tablespace serão armazenados. Exemplo:

CREATE TABLESPACE meu_espaco LOCATION '/dados/pg_tbs';

Alternativa E — ❌ Incorreta

CREATE USER (ou CREATE ROLE) não possui cláusula LOCATION. Trata-se de um comando de gerenciamento de papéis, sem vínculo com armazenamento físico.

PEGA ESSA DICA!

Decore a sintaxe dos comandos DDL do PostgreSQL que exigem parâmetros específicos: CREATE TABLESPACE é o único com LOCATION; CREATE DATABASE usa TEMPLATE e ENCODING; CREATE TABLE/CREATE INDEX usam TABLESPACE (não LOCATION). Resolver questões que testam a letra da lei (sintaxe) ajuda a fixar.

Gabarito: letra D (TABLESPACE).

Link permanente: /questoes/fg086699