Download do pacote fonte
Antes de iniciar, instale os pacotes necessários no sistema:
yum groupinstall -y "Development Tools"
yum install -y bison flex readline-devel zlib-devel
Acesse o site oficial para baixar o arquivo fonte: https://www.postgresql.org/ftp/source/
Extraia o arquivo compactado:
tar -zxvf postgresql-11.3.tar.gz
cd postgresql-11.3
Verifique as opções de configuração disponíveis:
./configure --help
Execute a configuração com caminhos personalizados:
./configure --prefix=/usr/local/pgsql --with-libxml
Compile e instale:
make && make install
Configuração do ambiente
Crie um usuário dedicado ao PostgreSQL:
useradd postgres
passwd postgres
Defina permissões corretas sobre os diretórios de instalação:
chown -R postgres:postgres /usr/local/pgsql
mkdir -p /data/pg /data/pg/logs
chown -R postgres:postgres /data/pg
Adicione variáveis de ambiente ao perfil global:
vi /etc/profile
Insira as seguintes linhas:
export PGDATA=/data/pg/data
export PGHOME=/usr/local/pgsql
export PATH=$PGHOME/bin:$PATH
Carregue as alterações:
source /etc/profile
Mude para o contexto do usuário postgres:
su - postgres
Configuração do perfil do usuário postgres
Edite o arquivo de inicialização do shell:
vi ~/.bash_profile
Adicione estas linhas:
PATH=/usr/local/pgsql/bin:$PATH:$HOME/bin
export PATH
export LD_LIBRARY_PATH=/usr/local/pgsql/lib
export PGDATA=/data/pg/data
Inicialização do banco de dados
Execute o comando de inicialização:
/usr/local/pgsql/bin/pg_ctl init --pgdata=/data/pg/data
Iniciar o serviço
Use o comando abaixo para iniciar o servidor:
pg_ctl -D /data/pg/data -l /data/pg/logs/pg_server.log start
Observação: o arquivo de log deve ser criado manualmente antes da execução.
Conexão com o banco de dados
Conecte-se usando o cliente psql:
psql -U postgres -d postgres
Configuração de acesso remoto
Edite o arquivo de configuração principal:
vim /data/pg/data/postgresql.conf
Altere o valor de listen_addresses para *, permitindo conexões em todas as interfaces de rede. O porto padrão é 5432, mas pode ser ajustado conforme necessário.
Configure as regras de autenticação de clientes:
vim /data/pg/data/pg_hba.conf
Os principais parâmetros são:
- TYPE: tipo de conexão (local para Unix socket, host para TCP/IP)
- DATA BASE: nome do banco de dados alvo
- USER: usuário autorizado
- ADDRESS: endereço IP ou sub-rede (ex: 192.168.1.0/24)
- METHOD: método de autenticação (md5, password, trust, reject)
Para segurança, recomenda-se o uso de md5 em produção. Evite trust e password em ambientes críticos.
Iniciar o serviço via systemd (opcional)
service postgresql start
Verificar porta ativa
netstat -tunlp | grep 5432
Criação de usuários e bancos
Crie um novo usuário:
CREATE USER postuser1 WITH PASSWORD 'user1@123';
Crie um banco com dono definido:
CREATE DATABASE postdb1 OWNER postuser1;
Conceda permissões completas ao usuário:
GRANT ALL PRIVILEGES ON DATABASE postdb1 TO postuser1;
Comandos de importação e exportação
Importar um script SQL:
psql -d database_name -U username -h hostname -p port -f file.sql
Restaurar um backup:
pg_restore -U postgres -d poi < filename.dump
Exportar um banco de dados:
pg_dump -U username -h hostname -p port -t table_name > export.sql