O PostgreSQL é um SGBD (Sistema Gerenciador de Banco de Dados) de código aberto, muito utilizado em sistemas que requerem um banco de dados mais robusto do que aqueles gerenciados pelo MySQL. Neste post irei mostrar como instalar o PostgreSQL no Ubuntu 20.04.
Antes de tudo é necessário possuir acesso root para instalar os pacotes, ou utilizar um usuário sudo.
Como instalar o PostgreSQL no Ubuntu
Antes de tudo vamos atualizar o sistema e instalar o pacote “contrib” ele traz várias funções adicionais ao sistema de banco de dados do PostgreSQL. Para isso abra o terminal (CTRL+ALT+T) e digite os comandos:
sudo apt update
sudo apt install postgresql postgresql-contrib
Quando a instalação estiver concluída, o serviço do PostgreSQL irá iniciar de forma automática. Use o comando psql para verificar a instalação. Este comando se conecta ao banco de dados do PostgreSQL e mostra a sua versão:
sudo -u postgres psql -c "SELECT version();"
Saída
PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8 ubuntu1) 9.3.0, 64-bit
Pronto. O PostgreSQL está instalado no seu Ubuntu.
Definindo papéis e Métodos de autenticação
As permissões de acesso para o postgres são utilizadas em forma e conceito do papel (role) de cada usuário ou grupo de usuários.
Esse SGBD possui múltiplos tipos de autenticações. Os mais utilizados são:
- TRUST – Um papel (tipo de usuário) pode se conectar sem senha, conforme for definido no arquivo “pg_hba.conf”.
- PASSWORD – Um papel pode se conectar com senha. As senhas são armazenadas nos padrões scram-sha-256, md5, e a senha sem criptografia (texto limpo).
- IDENT – Suporta apenas conexões TCP/IP. Funciona adquirindo o nome de usuário dos sistemas operacionis, com uma função opcional de mapear esse username. Muito utilizado para permitir acesso remoto ao banco de dados.
- PEER – Funciona da mesma forma que o IDENT, porém, apenas para conexões na rede local.
A autenticação do cliente postgres é definida sempre no arquivo pg_hba.conf. Por padrão, utiliza o método de autenticação PEER, que permite apenas conexões locais.
O usuário “postgres” é criado automaticamente no linux durante a instalação, e é um super usuário dentro do SGBD que equivale ao usuário root do MySQL. Para logar com o usuário postgres, primeiro troque para o usuário linux ‘postgres’ utilizando o comando:
sudo su - postgres
Depois utilize o comando psql
psql
A partir daqui, podemos interagir com o banco de dados com todas as permissões. Para sair deslogar desse (e de qualquer usuário) digite:
postgres=# \q
O PostgreSQL é um ótimo SGBD, principalmente quando se fala em flexibilidade de segurança e de acesso remoto ao BD. Mas se ainda assim quiser utilizar o MySQL, tem outro post falando sobre a instalação do MySQL no Ubuntu Xenial. Então é isso, qualquer dúvida postem ai nos comentários.