Devido a algumas
necessidades, sou obrigado a rodar ou PostgreSQL 8.3 ou 8.4, mas
claro, algumas particularidades de empacotamento e configuração
padrão me impedem de baixar uma versão dos repositórios.
*** IMPORTANTE ***
Todos os comandos
abaixo devem ser rodados como “root”.
1 – Instale os
pacotes básicos para a compilação do PostgreSQL.
2
– Instale o pacote de desenvolvimento.
3 – Baixe os
fontes da página oficial do PostgreSQL. Pode (e recomendo) usar o
wget.
4 – Descompacte.
tar jxvf
postgresql-8.x.x.tar.bz2
5 – Inicie o
processo de compilação.
./configure ; make ;
make install
6 – Entre no
diretório “contrib”, compile e instale os adicionais.
cd contrib/ ; make
all ; make install
7 – Copie o
arquivo de inicialização do banco para o seu /etc/init.d/
8 – Torne o script
executável.
9 – Adicione o
usuário.
adduser postgres
10 – Adicione a
localização à variável de ambiente, assim os comandos do
PostgreSQL ficarão acessíveis.
echo
'PATH=$PATH:/usr/local/pgsql/bin' >
/etc/profile.d/postgresql.sh
echo 'export PATH;' >> /etc/profile.d/postgresql.sh
echo 'export PATH;' >> /etc/profile.d/postgresql.sh
11
– Torne-o executável.
chmod
775 /etc/profile.d/postgresql.sh
12
– Crie um diretório “data”,
na
verdade o nome pode ser qualquer um, mas “data” é o mais comum.
Esta
será sua “cluster” de database.
No
meu caso, eu crio um diretório na raiz com outro nome, mas ATENÇÃO,
se você optar por outro diretório, não esqueça de alterar o
caminho do “pgdata” no /etc/init.d/postgres.
mkdir
/usr/local/pgsql/data
13
– Mude
o proprietário da pasta.
sudo
-u postgres /usr/local/pgsql/bin/initdb -U postgres
pgdata=/usr/local/pgsql/data/
--encoding=LATIN1 --locale=C --username=postgres -W
15
- Modifique
o
seu /usr/local/pgsql/data/postgresql.conf
para
permitir conexões externas.
Mude
os parâmetros para as configurações abaixo:
Remova
os '#'.
listen_addresses
= '*' (isto
permite “escutar” ips de de fora do “localhost).
port = 5432
port = 5432
16
– Altere também o seu “pg_hba.conf”, adicionando a sua range
de ips, nunca se esquecendo no final da linha a flag “trust”.
17
– Adicione o script a rotina de inicialização.
chkconfig
--add postgresql
18
– Inicie o PostgreSQL.
service
postgresql start
Se
você tiver algum problema na inicialização, verifique o
“serverlog” no seu diretório “data”. Geralmente ele informa
qual o problema na inicialização do banco.
Era
isso!
Até
a próxima!