Este post abordará como compilar e configurar , sendo assim customizando a instalação do Postgres.
1) Instalação de pacotes essenciais :
yum install readline-devel zlib-devel -y
2) Download do pacote source :
cd /opt/pkg wget -v https://ftp.postgresql.org/pub/source/v9.4.4/postgresql-9.4.4.tar.gz
3) Compilando o Postgres :
mkdir -p /opt/open/postgres-9.4.4 ./configure --prefix=/opt/open/postgres-9.4.4 make make install
4) Configurando o usuário :
Criando o usuário
useradd -d /opt/open/postgres-9.4.4
Dando permissão em seu diretório
chown -R pgsql.pgsql /opt/open/postgres-9.4.4
Configurando o profile do usuário pgsql
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH
5) Configurando o Iptables / Firewalld e SELinux
Configuração do Iptables :
vim /etc/sysconfig/iptables
Adicione as linhas :
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
Restarte o serviço :
service iptables restart
Configuração do Firewalld:
firewall-cmd --permanent --add-port=5432/tcp firewall-cmd --reload
Configuração do SELINUX :
setsebool -P httpd_can_network_connect_db 1
6) Criando e ajustando a primeira instância :
Criando uma nova instância do Postgres :
su - pgsql cd /opt/open/postgresql-9.4.4/bin ./initdb -D /opt/open/postgresql-9.4.4/data
Liberando o acesso para a rede em que o servidor se encontra adicionando a linha no arquivo /opt/open/postgresql-9.4.4/data/pg_hba.conf
host all all 10.0.10.0/24 trust
Dando o primeiro start na instância
cd /opt/open/postgresql-9.4.4/bin ./pg_ctl -D /opt/open/postgresql-9.4.4/data -l logfile start
7) Configurando um script de start / stop :
Este script foi baseado no post de como criar scripts modelos:
http://fajlinux.com.br/scripts/script-modelo-para-qualquer-servico-linux/
#!/bin/bash # chkconfig: 3 98 99 POSTGRES_HOME=/opt/open/postgresql-9.4.4 cd bin start() { runuser -l pgsql -c "./bin/pg_ctl -D /opt/open/postgresql-9.4.4/data -l logfile start" } stop() { runuser -l pgsql -c "./bin/pg_ctl -D /opt/open/postgresql-9.4.4/data -l logfile stop" } case "$1" in start) start ;; stop) stop ;; *) echo $"Use estas opcoes $0 {start|stop}" exit 1 esac exit $?
Habilite o script para o boot :
chkconfig postgres on
8) Testes finais:
Criando um banco de teste :
cd /opt/open/postgresql-9.4.4/bin ./createdb fajlinux ./psql fajlinux
Listando os bancos no Postgres :
Criando um banco de teste :
\l
Referências :
http://www.postgresql.org/docs/9.3/static/install-procedure.html
www.commandprompt.com/ppbook/x486