Pré-requisitos
- Sistema operacional Ubuntu 22.04 LTS
- Acesso root ou privilégios sudo
- Conexão com a internet
Passo 1: Atualizar o Sistema
1 2 |
sudo apt update sudo apt upgrade -y |
Passo 2: Adicionar o Repositório Oficial do PostgreSQL
- Primeiro, instale as dependências necessárias:
1 |
sudo apt install curl ca-certificates gnupg lsb-release -y |
- Importe a chave GPG do repositório oficial:
1 |
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg |
- Adicione o repositório do PostgreSQL:
1 |
echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list |
Passo 3: Instalar o PostgreSQL 16
- Atualize novamente os repositórios:
1 |
sudo apt update |
- Instale o PostgreSQL 16:
1 |
sudo apt install postgresql-16 postgresql-contrib-16 -y |
Passo 4: Verificar a Instalação
- Verifique o status do serviço:
1 |
sudo systemctl status postgresql |
- Verifique a versão instalada:
1 |
psql --version |
Passo 5: Configuração Inicial
- O PostgreSQL cria automaticamente um usuário ‘postgres'. Para acessar o prompt do PostgreSQL:
1 |
sudo -u postgres psql |
- Dentro do prompt do PostgreSQL, defina uma senha para o usuário postgres:
1 |
ALTER USER postgres WITH PASSWORD 'sua_senha_aqui'; |
- Para sair do prompt do PostgreSQL:
1 |
\q |
Passo 6: Configurar Acesso Remoto (Opcional)
- Edite o arquivo postgresql.conf:
1 |
sudo vi /etc/postgresql/16/main/postgresql.conf |
- Localize a linha com
listen_addresses
e altere para:
1 2 |
listen_addresses = '*' |
- Edite o arquivo pg_hba.conf:
1 |
sudo vi /etc/postgresql/16/main/pg_hba.conf |
- Adicione a seguinte linha para permitir acesso de qualquer IP (ajuste conforme sua necessidade):
1 |
host all all 0.0.0.0/0 md5 |
- Reinicie o serviço:
1 |
sudo systemctl restart postgresql |
Passo 7: Comandos Úteis para Gerenciamento
Gerenciamento do Serviço
1 2 3 4 5 6 7 8 9 |
# Iniciar o serviço sudo systemctl start postgresql # Parar o serviço sudo systemctl stop postgresql # Reiniciar o serviço sudo systemctl restart postgresql # Habilitar inicialização automática sudo systemctl enable postgresql |
Backup e Restauração
1 2 3 4 5 6 7 |
# Criar backup de um banco de dados pg_dump nome_do_banco > backup.sql # Restaurar backup psql nome_do_banco < backup.sql |
Passo 8: Verificação de Portas e Firewall
- Verifique se a porta 5432 (padrão do PostgreSQL) está aberta:
1 |
sudo netstat -plunt | grep postgres |
- Se necessário, configure o firewall (UFW):
1 2 |
sudo ufw allow 5432/tcp sudo ufw reload |
Dicas de Segurança
- Sempre altere a senha padrão do usuário postgres
- Limite o acesso por IP no pg_hba.conf
- Mantenha o PostgreSQL atualizado
- Faça backups regulares
- Use SSL para conexões remotas
- Implemente políticas de senha forte
Solução de Problemas Comuns
Se o serviço não iniciar:
- Verifique os logs:
1 |
sudo tail -f /var/log/postgresql/postgresql-16-main.log |
- Verifique permissões:
1 |
sudo chown -R postgres:postgres /var/lib/postgresql/16/main |
Se não conseguir conectar remotamente:
- Verifique se o serviço está escutando em todas as interfaces:
1 |
sudo netstat -plunt | grep postgres |
- Verifique as configurações de firewall:
1 |
sudo ufw status |
Este tutorial fornece uma base sólida para começar a trabalhar com o PostgreSQL 16 no Ubuntu 22.04 LTS. Lembre-se de adaptar as configurações de segurança de acordo com suas necessidades específicas e ambiente de produção.