postgresql:permissoes
Tabela de conteúdos
Permissões (PostgreSQL)
Criar um usuário
CREATE USER [usuário] WITH PASSWORD 'minha-senha';
Criar um banco
CREATE DATABASE [bd] OWNER [usuário] ENCODING 'UTF8'; ALTER SCHEMA public OWNER TO [usuário];
Conceder todas as permissões a um BD
GRANT ALL PRIVILEGES ON DATABASE [bd] TO [usuário]; GRANT ALL ON ALL TABLES IN SCHEMA public TO [usuário]; GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO [usuário]; GRANT ALL ON ALL FUNCTIONS IN SCHEMA public TO [usuário];
Também é possível conceder permissões a outros schemas:
GRANT ALL ON ALL TABLES IN SCHEMA [outro-schema] TO [usuário]; GRANT ALL ON ALL SEQUENCES IN SCHEMA [outro-schema] TO [usuário]; GRANT ALL ON ALL FUNCTIONS IN SCHEMA [outro-schema] TO [usuário];
Revogar permissões
As sintaxes são semelhantes às do tópico anterior, para isso basta trocar a expressão GRANT
por REVOKE:
REVOKE ALL PRIVILEGES ON DATABASE [bd] FROM [usuário]; REVOKE ALL ON ALL TABLES IN SCHEMA public FROM [usuário]; REVOKE ALL ON ALL SEQUENCES IN SCHEMA public FROM [usuário]; REVOKE ALL ON ALL FUNCTIONS IN SCHEMA public FROM [usuário];
Conceder permissões de um usuário para outro
GRANT usuárioA TO usuárioB;
O comando acima faz com que o usuárioB tenha as mesmas permissões do usuárioA. Útil quando um desenvolvedor precisa de acesso a um BD utilizando as permissões do usuário da aplicação.
O REVOKE também é possível neste comando:
REVOKE usuárioA FROM usuárioB;
Ownership
Reatribuir ownership de todos os objetos do banco
REASSIGN OWNED BY usuárioA TO usuárioB;
Reatribui todos os objetos que eram propriedade do usuárioA para o usuárioB.
Eliminar ownership de um usuário
DROP OWNED BY usuárioA;
Retira o onwership de usuárioA em todos os objetos do banco.
Arquivo de permissão de acesso
Edite o arquivo /var/lib/pgsql/9.3/data/pg_hba.conf
para dar permissão.
host [banco] [usuário] [CIDR-da-rede] md5
Depois dê um reload no serviço.
systemctl reload postgresql-9.3.service
Links interessantes
postgresql/permissoes.txt · Última modificação: 27/04/2021 12:05 por 127.0.0.1