PostgreSQL 8.x (RHEL e Fedora)

Publicado por Alexandre em 13/02/2008

[ Hits: 12.164 ]

 


PostgreSQL 8.x (RHEL e Fedora)



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.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Symfony - Introdução ao framework

Conectividade Social x proxy transparente

Nautilus: Mudando a exibição padrão dos itens de uma pasta

Port knocking - Instalação e configuração

Resolvendo problemas de caracteres e idiomas no Debian Etch AMD64 e Dreamlinux MMGL 2.2

  

Comentários
[1] Comentário enviado por marcosmiras em 13/02/2008 - 13:51h

Bacana... Só que tem um detalhe o yum vem de "fábrica"(hehe) só no RHEL 5, pra quem tem versões mais antigas como RHEL4 ou CentOS 4 (3,2 e1 tbm) tem que instalar, você encontra no http://rpmfind.net ou no site da yellowdog...
abraço!

[2] Comentário enviado por Kharl em 13/02/2008 - 14:42h

Se voce usa aplicações com formato de data mm/dd/yyyy deve alterar o parametro datestyle no /var/lib/pgsql/data/postgresql.conf ficando assim:

datestyle = 'iso, mdy'

(estava assim: datestyle = 'iso, dmy' )

para ativar o autovacumm no mesmo arquivo altere os parametros para ON:

stats_start_collector = on
stats_row_level = on

e eh claro:

autovacuum = on



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts