Instalação do PostgreSQL a partir do código-fonte no Linux

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

Tags: postgresql Linux source installation database configuration pg_hba.conf

Publicado em 9-24 23:43