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.

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 --versionInstalar 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 --versionVerificar 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 postgresProteger 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
\qCriar 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
\qGerir 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 postgresqlComandos 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.sqlDicas Ú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