Instalando e configurando o PostgreSQL no Fedora 31

Vou mostrar como instalar o PostgreSQL no Fedora 31 com base nas informações do portal Fedora Developer.

Instalando o PostgreSQL

O PostgreSQL está nos repositórios do Fedora, então podemos usar o DNF pela linha de comando ou algum gerenciador de pacotes (como o dnfdragora) para fazer a instalação dos pacotes postgresql e postgresql-server.

Usando a linha de comando:
sudo dnf install postgresql postgresql-server

Configuração inicial do PostgreSQL

sudo postgresql-setup initdb

Iniciando e habilitando o serviço do PostgreSQL

sudo systemctl start postgresql

Opcional: habilitar o serviço para iniciar com o sistema

sudo systemctl enable postgresql

Fazendo o login no shell como administrador do PostgreSQL

sudo su - postgres

Criando o primeiro banco de dados

Com o login do usuário postgres, podemos criar o banco de dados

createdb banco-teste

Fazendo a conexão com o banco-teste

Agora podemos nos conectar ao banco criado anteriormente

psql -d banco-teste

Controlando o acesso ao cluster do PostgreSQL (PG Cluster)

Não se esqueça, você precisa estar logado, no shell, com o usuário postgres

sudo su - postgres

Ainda no shell do usuário postgres, você pode criar um usuário para acessar o cluster:

createuser leandro -P

Agora você pode criar um banco de dados colocando o usuário leandro como proprietário.

createdb banco-leandro --owner leandro

Editando o arquivo de configuração do PostgreSQL

É hora de adicionar a regra de acesso para o usuário leandro. Para isso, edite o arquivo ~/data/pg_hba.conf com seu editor preferido (vou usar o editor vim).
O diretório ~ representa o diretório inicial (home) do usuário postgres, que é o /var/lib/pgsql - por ter acesso administrativo, o usuário postgres pode escrever dentro do diretório.

Vamos editar o arquivo:
vim ~/data/pg_hba.conf

Na seção local, adicione a linha para o usuário leandro

# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all leandro md5
local all all peer

Reinicie o serviço do PostgreSQL com o seu usuário comum (não o postgres)

sudo systemctl restart postgresql

Fazendo a conexão ao banco do novo usuário

Com o seu usuário comum, conecte-se ao banco-leandro do usuário leandro

psql -d banco-leandro -U leandro

Permitindo conexões TCP/IP para o novo usuário

Para usar programas cliente de PostgreSQL e não ter que administrar o banco pela linha de comando, temos que liberar o usuário leandro para fazer conexões através de TCP/IP - tanto no localhost quanto remotamente.

Com o usuário postgres, edite novamente o arquivo ~/data/pg_hba.conf

sudo su - postgres
vim ~/data/pg_hba.conf

Libere o acesso ao usuário no localhost ou outros hosts/IPs necessários

# IPv4 local connections:
host all leandro localhost md5
host all all 127.0.0.1/32 ident

Não se esqueça de reiniciar o PostgreSQL (com seu usuário comum!)

sudo systemctl restart postgresql

Configurando o DBeaver CE para acesso ao banco

Tutorial de instalação do DBeaver: https://fedorabr.org/index.php?p=/discussion/305/instalando-o-cliente-de-bancos-de-dados-dbeaver-community-edition

Selecione PostgreSQL para iniciar a configuração, depois coloque os detalhes da conexão com o usuário leandro, faça o download do driver e teste a conexão.

Correções e melhorias são coisas muito bem-vindas. Abraços, pessoal!

Comentários