Como Criar um Utilizador no PostgreSQL e Atribuir Permissões

Criar um utilizador no PostgreSQL e atribuir permissões pode parecer complicado, mas é bastante simples uma vez que se compreende o básico. O PostgreSQL é um sistema de gestão de bases de dados poderoso, utilizado para gerir dados de forma eficiente. Para permitir que diferentes pessoas ou aplicações acedam à base de dados, é necessário criar utilizadores e atribuir-lhes permissões específicas. Este processo garante que apenas utilizadores autorizados podem visualizar ou modificar os dados, mantendo-os seguros e bem geridos.

Neste guia, vamos guiá-lo pelos passos simples para criar um utilizador no PostgreSQL, criar uma base de dados e atribuir as permissões necessárias, tornando-o fácil de seguir até para principiantes.

Instruções Rápidas

Aqui estão as instruções rápidas para criar um utilizador e uma base de dados com atribuição de permissões no servidor PostgreSQL. Testado com PostgreSQL 16 em Ubuntu 24.04 LTS, estas instruções irão guiá-lo facilmente através do processo.

SQL
CREATE DATABASE minha_base_de_dados;
CREATE USER novo_utilizador WITH PASSWORD 'senha';
GRANT ALL PRIVILEGES ON DATABASE minha_base_de_dados TO novo_utilizador;

SQL

Certifique-se de ligar à interface de linha de comandos do PostgreSQL usando o comando sudo -i -u postgres psql.

Instruções Detalhadas Passo a Passo

O PostgreSQL é um sistema de base de dados poderoso. Para o usar, é necessário criar utilizadores, bases de dados e atribuir permissões. Este guia irá mostrar-lhe como fazer isto passo a passo.

Passo 1: Conectar ao PostgreSQL

O primeiro passo é conectar ao servidor PostgreSQL. Pode fazê-lo através de interfaces gráficas ou abrir a linha de comandos do PostgreSQL.

Bash
sudo -i -u postgres psql

Passo 2: Criar um Utilizador

Um utilizador no PostgreSQL é como uma pessoa que pode aceder à base de dados. Pode criar um através do seguinte comando:

SQL
CREATE USER novo_utilizador WITH PASSWORD 'senha';

Substitua novo_utilizador pelo nome que deseja para o utilizador.
Substitua senha por uma palavra-passe forte para o utilizador.

Passo 3: Criar uma Base de Dados

Uma base de dados é um local onde armazena os seus dados. Para criar uma base de dados, execute o seguinte comando:

SQL
CREATE DATABASE minha_base_de_dados;

Substitua minha_base_de_dados pelo nome que deseja para a base de dados.

Passo 4: Atribuir Permissões

As permissões são como regras que decidem o que um utilizador pode fazer com uma base de dados. Pode escolher atribuir todos os privilégios a um utilizador numa base de dados especificada ou dar acesso limitado a tabelas específicas.

Atribuir Acesso Total à Base de Dados

Geralmente, fornecemos acesso total à base de dados para facilitar o funcionamento de qualquer aplicação. Em ambientes de desenvolvimento e teste, é aceitável permitir privilégios totais.

Use a seguinte instrução para permitir acesso total à minha_base_de_dados ao novo_utilizador:

SQL
GRANT ALL ON DATABASE minha_base_de_dados TO novo_utilizador;

Mas, em alguns casos, pode ser necessário permitir a um utilizador o acesso a tabelas específicas. Por exemplo, pode querer permitir apenas o acesso à tabela de produtos a um ponto de acesso de API publicamente acessível.

Permitir Conexão à Base de Dados

A seguir, é necessário conceder ao novo utilizador permissão para se conectar a uma base de dados específica. Vamos assumir que tem uma base de dados chamada minha_base_de_dados. Use o comando GRANT para dar ao novo_utilizador acesso à minha_base_de_dados:

SQL
GRANT CONNECT ON DATABASE minha_base_de_dados TO novo_utilizador;

Isto não permitirá o acesso aos dados das tabelas ao utilizador. Para permitir o acesso aos dados, precisa conceder permissões específicas para as tabelas.

Atribuir Permissões às Tabelas

Após conceder acesso à base de dados, pode querer dar ao utilizador permissões em tabelas específicas dentro da base de dados. Veja como pode fazer isso:

Atribuir Permissão SELECT (Apenas Leitura)
Para permitir que o novo_utilizador leia dados de uma tabela chamada minha_tabela:

SQL
GRANT SELECT ON minha_tabela TO novo_utilizador;

Atribuir Permissão INSERT (Adicionar Dados)

Para permitir que o novo_utilizador insira dados na minha_tabela:

SQL
GRANT INSERT ON minha_tabela TO novo_utilizador;

Atribuir Permissão UPDATE (Modificar Dados)

Para permitir que o novo_utilizador atualize dados existentes na minha_tabela:

SQL
GRANT UPDATE ON minha_tabela TO novo_utilizador;

Atribuir Permissão DELETE (Remover Dados)

Para permitir que o novo_utilizador delete dados da minha_tabela:

SQL
GRANT DELETE ON minha_tabela TO novo_utilizador;

Atribuir Todas as Permissões

Se quiser conceder todas as permissões (SELECT, INSERT, UPDATE, DELETE) numa tabela ao novo_utilizador, pode usar o seguinte comando:

SQL
GRANT ALL PRIVILEGES ON minha_tabela TO novo_utilizador;

Passo 5: Revogar Permissões

Caso precise revogar permissões de um utilizador, pode usar o comando REVOKE. Por exemplo, para remover a permissão INSERT do novo_utilizador na minha_tabela:

SQL
REVOKE INSERT ON minha_tabela FROM novo_utilizador;

Passo 6: Eliminar um Utilizador

Se precisar eliminar um utilizador, pode usar o comando DROP USER. Por exemplo, para eliminar o novo_utilizador:

SQL
DROP USER novo_utilizador;

Resumo

Criar um utilizador, base de dados e atribuir permissões no PostgreSQL é simples. Apenas precisa executar três comandos. Primeiro, crie um utilizador com CREATE USER. Segundo, crie uma base de dados com CREATE DATABASE. Finalmente, conceda acesso ao utilizador com o comando GRANT. O PostgreSQL permite-lhe escolher quais dados um utilizador pode ver, editar ou eliminar das tabelas.

Espero que este tutorial o tenha ajudado a aprender a criar utilizadores e atribuir permissões no servidor PostgreSQL.

Artigos Relacionados