Site oficial:
http://www.postgresql.org
Instalação
Vamos instalar o postgresql.
Isso pode ser feito de varias maneiras: por rpm, yum ou make. Exemplo:
# yum install postgresql *.*
Com esse comando ele vai instalar todas as dependências.
Ou por rpm. Primeiro baixe os rpms e depois digite o comando:
# rpm -ivh postgresql-*.*
Instalado o postgresql, vamos iniciá-lo.
# service postgresql start
OBS: Se for a versão do postgresql 8.0 ou 8.1, ele vai criar o banco sem problema algum, agora se for a versão 8.2 você tem que executar um comando antes.
Versão postgresql 8.2:
# service postgresql initdb
Depois:
# service postgresql start
Se ocorreu tudo bem por aí, vamos para o próximo passo...
postgresql.conf
Primeiro vamos configurar o arquivo conf do postgresql que está na pasta:
# cd /var/lib/pgsql/data/
Em seguida vamos editá-lo:
# vi postgresql.conf
Vamos alterar a linha:
listen_addresses = 'localhost'
Para:
listen_addresses = '*'
Logo em seguida vamos descomentar a linha da porta:
port = 5432
Vamos agora reiniciar o serviço:
# service postgresql restart
pg_hba.conf
Vamos agora configurar as permissões, ips e usuários que poderão acessar o banco de dados. Edite o seguinte arquivo que está no diretório /var/lib/pgsql/data:
# vi pg_hba.conf
Vamos para o final do arquivo que contém as regras:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
#local all all ident sameuser
# IPv4 local connections:
#host all all 127.0.0.1/32 ident sameuser
# IPv6 local connections:
#host all all ::1/128 ident sameuser
Comente todas as regras e adicione a seguinte regra para liberar somente para a rede:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
#local all all ident sameuser
# IPv4 local connections:
#host all all 127.0.0.1/32 ident sameuser
host all all 192.168.0.0/24 trust
# IPv6 local connections:
#host all all ::1/128 ident sameuser
Reinicie o serviço:
# service postgresql restart
Como vamos acessá-lo pela primeira vez precisamos deixar como trust até definir a senha dos usuários pelo pgadmin3.
OBS: Se mesmo com trust no pg_hba.conf ele não está autenticando no seu pgadmin é porque você não liberou seu firewall.
Vamos liberar:
# iptables -A INPUT -p tcp --dport 5432 -j ACCEPT (aceita todas as conexões)
ou:
# iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 5432 -j ACCEPT (aceita conexões vindas somente de sua rede)
Feito isso, se você conseguiu acessar sua base de dados pela rede vamos agora liberar para toda internet e com validação de usuário e senha caso o acesso seja remoto. Você não pensou que era só liberar no firewall né? rssss
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
#local all all ident sameuser
# IPv4 local connections:
#host all all 127.0.0.1/32 ident sameuser
host all all 0/0 md5
# IPv6 local connections:
#host all all ::1/128 ident sameuser
Reinicie o serviço:
# service postgresql restart
E pronto, só testar.
Espero ter ajudado.