Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FCC 2016

Banco de DadosPostgreSQL
Código
fc033354
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2016
Nível
Superior
Cargo
Analista Judiciário - Tecnologia da Informação
Para conceder, a todos os usuários de um banco de dados PostgreSQL, o privilégio de inserção na tabela Clientes utiliza-se a instrução
  1. ASET GRANT INSERT ON Clientes ALL;
  2. BSET ROLE ALL PRIVILEGES TO INSERT ON Clientes;
  3. CSET GRANT ALL TO Clientes ON INSERT;
  4. DGRANT INSERT ON Clientes TO ALL GROUP;
  5. EGRANT INSERT ON Clientes TO PUBLIC;
Revelar gabarito e comentário

GabaritoE — GRANT INSERT ON Clientes TO PUBLIC;

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 GRANT

Gabarito: letra E. No PostgreSQL (e no SQL padrão), a sintaxe correta para conceder privilégios a todos os usuários é GRANT <privilégios> ON <objeto> TO PUBLIC. A alternativa E segue exatamente essa estrutura: GRANT INSERT ON Clientes TO PUBLIC;. As demais opções usam palavras-chave incorretas ou ordem inválida.

A banca testa o conhecimento da sintaxe da DCL (Data Control Language), em especial do comando GRANT. O comando tem a forma:

GRANT <privilégios> ON <objeto> TO <destinatário>

O destinatário PUBLIC representa todos os usuários do banco. Nenhuma das outras alternativas obedece a essa sintaxe.

Alternativa A — ❌ Incorreta

SET GRANT INSERT ON Clientes ALL; — O comando correto é GRANT, e não SET GRANT. Além disso, ALL não é um destinatário válido; o correto seria PUBLIC.

Alternativa B — ❌ Incorreta

SET ROLE ALL PRIVILEGES TO INSERT ON Clientes; — Mistura conceitos: SET ROLE é outro comando, e a ordem dos parâmetros está completamente errada. Não se usa TO INSERT, o privilégio vem antes do ON.

Alternativa C — ❌ Incorreta

SET GRANT ALL TO Clientes ON INSERT; — Novamente SET GRANT é incorreto. A ordem está invertida: o privilégio (INSERT) deveria vir antes de ON, e o destinatário (ALL) não é reconhecido; o correto é PUBLIC.

Alternativa D — ❌ Incorreta

GRANT INSERT ON Clientes TO ALL GROUP; — Apesar de começar com GRANT, o destinatário ALL GROUP não existe. O comando correto usa TO PUBLIC. ALL sozinho não é um identificador de grupo.

Alternativa E — ✅ Correta ⟵ GABARITO

GRANT INSERT ON Clientes TO PUBLIC; — Sintaxe exata: privilégio (INSERT), objeto (ON Clientes), destinatário (TO PUBLIC). O PUBLIC é uma palavra-chave que abrange todos os usuários atuais e futuros.

PEGA ESSA DICA!

Memorize a sintaxe do GRANT: GRANT <privilégios> ON <objeto> TO <destinatário>. Os destinatários podem ser um usuário específico, um papel (role) ou PUBLIC. Cuidado com alternativas que usam SET GRANT, ALL sem PUBLIC, ou ordem trocada.

Gabarito: letra E.

Link permanente: /questoes/fc033354