sexta-feira, 7 de novembro de 2014

Instalando o PostgreSQL (8.x) a partir do source com suporte a LATIN1 em um RedHat/CentOS/Fedora.

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.

yum install -y yum-fastestmirror bison-devel readline-devel zlib-devel openssl-devel

2 – Instale o pacote de desenvolvimento.

yum groupinstall -y 'Development Tools'

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/

cp /usr/local/src/postgresql-8.x.x/contrib/start-scripts/linux /etc/init.d/postgresql
8 – Torne o script executável.

chmod 775 /etc/init.d/postgresql

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


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.
chown -R postgres:postgres /usr/local/pgsql/data


14 – Execute o initdb script.  Isto prepara o “cluster” para o uso.
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

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!









Nenhum comentário:

Postar um comentário