Skip to content

Instantly share code, notes, and snippets.

@philipecampos
Created January 25, 2023 21:26
Show Gist options
  • Save philipecampos/d6b584dc9ad60065cf0819ef714278a8 to your computer and use it in GitHub Desktop.
Save philipecampos/d6b584dc9ad60065cf0819ef714278a8 to your computer and use it in GitHub Desktop.
Criação de usuário e permissões no Postgres

Comandos úteis para manipulação de usuário no Postgres

Cria usuário

create user nome_usuario;

Modifica senha do usuário

alter user nome_usuario with encrypted password 'digite_sua_senha_aqui';

Permissão em todas as tabelas de um schema

Permissão de select para para todas as tabelas (Postgres 9+)

GRANT SELECT ON ALL TABLES IN SCHEMA nome_do_schema TO nome_usuario;

Ou para qualquer versão do Postgre

o comando abaixo vai gerar os sqls para serem executados:

--SELECT, INSERT, UPDATE, DELETE
--select 'grant all on '||schemaname||'.'||tablename||' to usuario_bonito;'
select 'grant select on '||schemaname||'.'||tablename||' to nome_usuario;'
from pg_tables where schemaname in ('nome_do_shema', 'nome_do_schema2')
order by schemaname, tablename;

Permissão para o schema

Além de dar permissão às tabelas também é necessário conceder permissão de acesso ao schema.

GRANT USAGE ON SCHEMA nome_do_schema to nome_usuario;

Fontes:

Vale muito a pena a leitura dos links abaixo:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment