Postgres 9.4.4 : Pacote pré compilado

Neste post vou deixar aqui um pacote compilado do Postgres 9.4.4 , para instalá-lo em seu servidor basta seguir os passos abaixo.

Lembrando que uso sempre servidores Redhat para meus pacotes e laboratórios.

1) Requisitos necessários :

Instalando pacotes essenciais

yum install readline-devel zlib-devel -y

 

Baixe o pacote pré-compilado

mkdir -p /opt/open
wget https://github.com/fabioabreureis/Pacotes/blob/master/postgresql-9.4.4.tar.gz?raw=true

 

2) Descompacte em /opt/open :

Eu sempre compilo meus pacotes dentro de /opt/open/ , o pacote no primeiro momento só rodará nesta estrutura.

cd /opt/open
tar -xvf postgresql-9.4.4.tar.gz\?raw\=true 

 

Copie o script de start / stop , dê permissão de execução e coloque para subir junto com o SO.

cd /opt/open/postgres-9.4.4/bin
cp -Rv postgres-init /etc/init.d/
chmod +x /etc/init.d/postgres-init

 

3) Crie o usuário de serviço :

Criando o usuário pgsql, setando seu diretório de home.

useradd pgsql 
usermod -d /opt/open/postgres-9.4.4/

 

Setando o profile de usuário :

vim /opt/open/postgres-9.4.4/.bash_profile

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH

 

4) 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

 

5) Configurações finais :

Criando a instância de teste

su - pgsql
cd /opt/open/postgres-9.4.4/bin
./initdb -D /opt/open/postgres-9.4.4/fajlinux-teste

 

Captura de Tela 2015-06-16 às 11.18.04

Liberando o acesso para a rede em que o servidor se encontra adicionando a linha no arquivo /opt/open/postgresql-9.4.4/fajlinux-teste/pg_hba.conf

host    all             all             10.0.10.0/24            trust

 

A entrada data vem como nome padrão no script , então é necessário trocá-la pelo nome da instância criada em /etc/init.d/postgres-init

sed -i 's/data/fajlinux-teste/g'  /etc/init.d/postgres-init

 

Inicie a instância

service postgres-init start

 

Captura de Tela 2015-06-16 às 11.25.02

6) Considerações finais :

Foi realizado teste em uma máquina do zero e o Postgres subiu sem problemas .

A compilação foi baseada no post abaixo:

http://fajlinux.com.br/db/postgres-9-4-compilando-e-configurando/

A pacote source da compilação se encontra em :

https://github.com/fabioabreureis/Pacotes/blob/master/PKGInstallPGSQL-9.4.4.tar.gz