sábado, 16 de outubro de 2010

PostgreSQL 9.0 - Instalando no Ubuntu 10.04

É faz tempo que não posto nada e já estava até nem ligando mais, mas hoje fiquei brincando e configurando o PostgreSQL no trabalho e gostei muito. Já mexia antes com a versão 8.3 mas resolvi baixar hoje a 9.0 para configurar o Alfresco nela e gostei muito. Principalmente com o pgAdmin 1.12.1 que vem junto com o instalador para Windows.

Chegando em casa liguei o pc e deu vontade de tentar configurar o PostgreSQL no meu Ubuntu, mas tive alguns probleminhas então logo surgiu uma ótima ideia - "porque não fazer um post?" ehehehe ... bem vamos lá.

Bom antes de mais nada é preciso que você instale o seguinte pacote:
$ sudo apt-get install python-software-properties
Depois de feito isso vamos a velha e já boa conhecia atualização de repositórios :D. Basicamente para instalarmos o PostgreSQL 9.0 e o pgAdmin 1.12 precisamos utilizar os seguintes comandos:
$ sudo add-apt-repository ppa:pitti/postgresql                            $ sudo apt-get update                                                     $ sudo apt-get install postgresql-9.0 libpq-dev pgadmin3
Feito isso seu banco de dados já está em funcionamento e o pgAdmin já está instalado e possui um icone de atalho no seu menu. Mas mesmo depois disso ainda tive um problema ao tentar conectar no banco, não sei a senha :(.

Para isso basta digitar no terminal:
$ cd /etc/init.d/                                                          $ sudo -u postgres plsl postgres
Feito isso você estará no plql ai basta alterar a senha via linha de comando, que no meu caso mudei para postgres mesmo. Fiquei um bom tempo tentando o que os tutoriais indicavam para digitar o comando:
postgres=# ALTER USER postgres WITH PASSWORD 'postgres'                postgres=# \q
Mas o que funcionou mesmo foi um bem mais simples:
postgres=# \password postgres                                              Enter new password:                                                    Enter it again:                                                           postgres=# \q
Depois disso você ainda precisa realizar algumas configurações no seu banco de dados, para isso é necessário editar o arquivo postgresql.conf que está no diretório /etc/postgresql/9.0/main/, nele altere as seguintes linhas para:
listen_addresses = '*'                                              password_encryption = on
Desta forma, o PostgreSQL vai poder responder as requisições provenientes de outras máquinas e também cifrará as senhas. Lembre-se de remover o # para descomentar a linha. Mas você ainda precisa configurar o seu ip ou a rede que poderá acessar o banco de dados, para isso edite o arquivo pg_hba.conf no diretório /etc/postgresql/9.0/main/ e adicione a nova configuração lá em baixo, a minha por exemplo foi:
#My Ip                                                                   host    all      all             192.168.1.102/24         md5
Agora antes de reiniciar o serviço eu sugiro que você libere a edição dos arquivos de configuração do PostgreSQL usando o chmod, exemplo:
$ sudo chmod 777 /etc/postgresql/9.0/main/pg_hba.conf                     $ sudo chmod 777 /etc/postgresql/9.0/main/postgresql.conf 
Pronto agora você pode reiniciar o serviço e começar a usar
$ sudo /etc/init.d/postgresql restart
Exemplo da minha configuração no pgAdmin



5 comentários:

  1. "sudo -u postgres plsl postgres"
    Comando não está funcionando, me gera esta mensagem:
    "sudo: plsl: command not found"

    Tem como me ajudar?
    Grato...

    ResponderExcluir
  2. Desculpe a demora. Só agora consegui ler o seu comentário. Trabalho está me consumindo todo o tempo.
    Bom você instalou a biblioteca do python?

    $ sudo apt-get install python-software-properties

    pelo que vi pode ser isso o problema. Está instalando ou já conseguiu instalar o PostgreSQL 9.0?
    [ ]'s

    ResponderExcluir
  3. Estou inciando no postgre e nao estou conseguindo configurar o pgadmin, tem um problema no host. Você poderia me ajudar?

    grato

    ResponderExcluir
  4. Deu permissão para que o pgAdmin possa mexer nos arquivos de configuração? Tem que cuidar que esses arquivos quando você instala o PostgreSQL vem com permissão apenas para o root. Tem que libera-los dando o:

    $ sudo chmod 777 /etc/postgresql/9.0/main/pg_hba.conf
    $ sudo chmod 777 /etc/postgresql/9.0/main/postgresql.conf

    Depois disso não esquecer de liberar o acesso da sua máquina ao banco de dados. Tem descrito ali em cima.

    Configurou o seu ip?

    ResponderExcluir
  5. Meninos, façam isso não! 6 tão maluco?!
    sudo chmod 777 /etc/postgresql/9.0/main/pg_hba.conf

    isso dai ta liberando qualquer retardado pra alterar o pg_hba!
    se vc poe ali trust não precisa de senha nenhuma!

    O postgres não deveria nem subri com 777 neste arquivo.

    ResponderExcluir