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 é
ADATABASE.
BINDEX.
CTABLE.
DTABLESPACE.
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).
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 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.