Postgres 9.4 : Compilando e configurando

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

 

Captura de Tela 2015-06-15 às 22.34.54

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

 

Captura de Tela 2015-06-15 às 23.02.04

Referências :

http://www.postgresql.org/docs/9.3/static/install-procedure.html
www.commandprompt.com/ppbook/x486