Voltar ao blog
Janeiro 27, 2026Guias

Como Instalar PostgreSQL num Servidor Linux

Guia completo sobre instalação, configuração e proteção do servidor de base de dados PostgreSQL no Ubuntu e CentOS.

Como Instalar PostgreSQL num Servidor Linux

PostgreSQL é um poderoso sistema de gestão de bases de dados relacionais de código aberto conhecido pela sua fiabilidade, riqueza de funcionalidades e conformidade com padrões. Este guia ajudá-lo-á a instalar e configurar PostgreSQL no seu servidor Linux Hiddence.

Instalar PostgreSQL no Ubuntu/Debian

PostgreSQL está disponível nos repositórios padrão. Instale a versão mais recente:

bash
sudo apt update
sudo apt install postgresql postgresql-contrib -y

# Iniciar e activar PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Verificar instalação
sudo systemctl status postgresql
psql --version

Instalar PostgreSQL no RHEL / CentOS / AlmaLinux / Rocky Linux

Para distribuições baseadas em RHEL, precisa adicionar o repositório PostgreSQL primeiro:

bash
# Instalar repositório PostgreSQL
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Para CentOS 8/Rocky Linux 8, use:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Instalar PostgreSQL
sudo dnf install -y postgresql15-server postgresql15

# Inicializar base de dados
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

# Iniciar e activar PostgreSQL
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

# Verificar instalação
sudo systemctl status postgresql-15
psql --version

Verificar Instalação

bash
# Verificar estado do PostgreSQL
sudo systemctl status postgresql

# Verificar versão do PostgreSQL
psql --version

# Ligar ao PostgreSQL (Ubuntu/Debian)
sudo -u postgres psql

# Ligar ao PostgreSQL (CentOS/RHEL)
sudo -u postgres psql -d postgres

Proteger PostgreSQL

Defina uma palavra-passe para o utilizador postgres:

bash
# Ligar ao PostgreSQL
sudo -u postgres psql

# Definir palavra-passe para utilizador postgres
ALTER USER postgres PASSWORD 'sua_palavra_passe_forte';

# Sair do PostgreSQL
\q

Criar Base de Dados e Utilizador

bash
# Ligar como utilizador postgres
sudo -u postgres psql

# Criar base de dados
CREATE DATABASE myapp_db;

# Criar utilizador
CREATE USER app_user WITH PASSWORD 'palavra_passe_forte';

# Conceder privilégios
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;

# Sair
\q

Gerir Utilizadores

bash
# Ligar ao PostgreSQL
sudo -u postgres psql

# Listar todos os utilizadores
\du

# Criar novo utilizador
CREATE USER newuser WITH PASSWORD 'palavra_passe';

# Conceder privilégios
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;

# Revogar privilégios
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;

# Eliminar utilizador
DROP USER newuser;

Activar Ligações Remotas

Para permitir ligações remotas, edite os ficheiros de configuração do PostgreSQL:

bash
# Editar pg_hba.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf

# Editar pg_hba.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf

# Adicionar linha:
host    all             all             0.0.0.0/0               md5

# Editar postgresql.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf

# Editar postgresql.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf

# Alterar:
listen_addresses = '*'

# Reiniciar PostgreSQL
sudo systemctl restart postgresql

Comandos Básicos do PostgreSQL

bash
# Ligar à base de dados
psql -U app_user -d myapp_db

# Listar bases de dados
\l

# Ligar à base de dados
\c database_name

# Listar tabelas
\dt

# Descrever tabela
\d table_name

# Executar ficheiro SQL
psql -U app_user -d myapp_db -f script.sql

# Fazer cópia de segurança da base de dados
pg_dump -U app_user myapp_db > backup.sql

# Restaurar base de dados
psql -U app_user -d myapp_db < backup.sql

Dicas Úteis

  • Use sempre palavras-passe fortes para utilizadores da base de dados
  • Limite o acesso remoto a endereços IP específicos no pg_hba.conf
  • Faça cópias de segurança regularmente das suas bases de dados usando pg_dump
  • Monitore os registos do PostgreSQL: /var/log/postgresql/ (Ubuntu) ou /var/lib/pgsql/15/data/log/ (CentOS)
  • Use pool de ligações (pgBouncer) para aplicações de alto tráfego
  • Mantenha o PostgreSQL actualizado para a versão estável mais recente para correcções de segurança