Instalando e configurando o PostgreSQL 8.3 no Ubuntu
No meu ambiente de desenvolvimento, eu sempre utilizo dois bancos: o Postgres e o DB2. Basicamente devido ao fato de minha instalação de DB2 ser pesada pois tenho várias configurações de Data Warehouse e um banco muito carregado, o que torna o banco mais pesado para meu simples desktop. Então, para debugar meus softwares, vou com meu postgres levinho mesmo.
Minha idéia aqui é mostrar como instalar e configurar o PostgreSQL 8.3 no Ubuntu 8.04. As configurações são as mesmas para a instalação em Windows, a única diferença obvia é que você irá ter que ir ao site do postgres e baixar o Installer do Windows.
Vamos lá, iniciamos a instalação com o comando:
$ sudo apt-get install postgresql-8.3 postgresql-client-8.3
Recomendo também instalar o pgAdmin, que é uma ferramenta para administrar o postgres:
$ sudo apt-get install pgadmin3 pgadmin3-data
Algo que aconteceu comigo na migração para o Ubuntu 8.04, foi que tive que remover o Postgres 8.2 (apt-get purge postgresql-8.2) para conseguir iniciar o 8.3 corretamente. Se você concluir meus passos aqui e mesmo assim não conseguir conectar no Postgres, recebendo algum erro, provavelmente terá que dar o purge. (talvez com mais tempo de pesquisa eu poderia descobrir qual era o problema… se alguem passar por isso me diga please).
O próximo passo é setar uma senha para o usuário postgres com os seguintes comandos:
sudo su postgres -c psql postgres
ALTER USER postgres WITH PASSWORD ‘password’;
\q
O primeiro comando chama o utilitário psql com o usuário postgres e conecta no postgres especificamente no database postgres.
O segundo comando altera a senha do usuário postgres.
O terceiro comando finaliza o psql.
Note que a palavra password deve ser substituida pela password que você desejar.
Feito a instalação e mudança de senha do usuário postgres, você estará apto a desenvolver um trabalho no seu computador conectando normalmente ao postgres, porém, se a idéia é disponibilizar o acesso ao banco para receber conexões de outras máquinas, você vai ter que alterar dois arquivos para isso. Para isso, vá para o diretório /etc/postgres/8.3/main.
Edite o arquivo postgresql.conf. (dica: se não tiver permissão para editar, va em um terminal e digite “sudo gedit /etc/postgres/8.3/main/postgresql.con”)
Na linha listen_addresses, troque o localhost por *, ficando a linha assim:
listen_addresses = ‘*’
Dessa forma seu postgres vai “escutar” não só conexoes provenientes da sua própria máquina.
A próxima configuração no mesmo arquivo é habilitar a encriptação de passwords, para fazer isso descomente a linha abaixo simplesmente removendo o # da frente dela:
password_encryption = on
Finalmente a próxima configuração é no arquivo pg_hba.conf. Neste arquivo você consegue restringir o acesso ao seu banco de dados por IP. Normalmente queremos liberar o acesso para todos os IPs em uma faixa, no meu exeplo, quero liberar para todas as máquinas da rede 10.5.2.*, então eu adiciono a seguinte linha no meu pg_hba.conf:
host all all 10.5.2.0 255.255.0.0 md5
Feito isso, basta reiniciar o postgres com o comando:
sudo /etc/init.d/postgresql-8.3 restart
Enjoy!
vlw pega dica juliano!
Só corrigindo, o diretorio correto que está o arquivo postgresql.conf é
/etc/postgresql/8.3/main
abraço
muito bom =D
me ajudou muito!
A propósito, sabe onde eu posso conseguir mais informacoes do postgres ? como criar indices, sobre os tipos dos campos? Venho do MySQL e estou me atrapalhando muito com isso 😦
Abraços
Oi Beto.
Acho que o melhor lugar pra se conseguir a documentação é aqui: http://www.postgresql.org/docs/
Abraços,
Juliano
Grande Juliano,
Desculpa te incomodar 😉 Mas como falei estou iniciando no mundo Postgresql agora. Minha grande dificuldade agora é encontrar uma ferramenta semelhante ao DBDesigner pra modelar o banco Postgresql, vc poderia indicar alguma?
Novamente, muito obrigado.
pgDesigner, inclusive está no repositório do Ubuntu
Opa, sugiro o PGAdmin 3.
Eu coloquei como instalar lá em cima.
Abraços.
vELHO MANDO MUIJTO BM VLWWWWW
!!!!!!!
Caro Juliano,
Seu tutorial está ótimo…
Parabéns!!!
Abraços.
Muito bom o tutorial,
sou iniciante no linux, mas consegui configurar o postgres sem dificuldades.
Parabens pela iniciativa!
Ola, estou implementando uma grade com o toolkit globus4.07 e no tutorial que peguei, ele pede para que eu modifique o arquivo postamaster.conf que se encontra no seguinte caminho:/var/lib/postgres/postmaster.conf mas nao consigo encontrá-lo.
Um outro problema é que qdo vou criar o usuario globus com o seguinte comando: su postgres -c “createuser -P globus”
aparece o seguinte erro:
createuser: não pôde conectar ao banco de dados postgres: could not connect to server: Arquivo ou diretório inexistente
Is the server running locally and accepting
connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432”?
Como posso arrumar esse erro?
Só para ajudar :
o comando para alterar a senha : ALTER USER postgres WITH PASSWORD ‘password’; nao funcionou aqui
basta trocar esse comando por \password
Olá, ao tentar criar a senha para o Postgre ocorre a seguinte mensagem:
Error: You must install at least one postgresql-client- package.
Já instalei a versão client 8.3 uso Ubuntu8.4.
Alguma dica?
Valeu pelo tópico chefe. Me ajudou aqui, valeu mesmo. Abraço.
Estou com o mesmo problema do POSTMASTER, VEJA:
$ sudo su postgres -c psql postgres
psql: could not connect to server: Arquivo ou diretório inexistente
Is the server running locally and accepting
connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432”?
Como faço para configurar oo Pg_hba.conf p/ liberar o acesso pra qualquer rede e não somente pra algumas redes como ensina o tutorial.
Obg!
Excelente, funcionou belezinha
Muito bem explicado !
mas tenho um problema… sou um nabo no ubuntu e quando edito o ficheiro “postgresql.config” diz que não tenho permissões para gravar as alterações… e não consigo mexer nas permissões do ficheiro…
obrigado
Opa. Se transforme em root com o comando:
sudo -i
digite a senha definida na instalação, e mande bala!
show de bola
Obrigadão tava mesmo a precisar de uma ajuda nisso
obrigado
Nus…vlw d+ esse tutorial, a dias que eu estava tentando instalar isso na MERDA do rWindows vista. Agora só com essa ajudinha já funcionou no meu UBUNTU!!
Vlwsssssssssssss
opa blz
preciso de uma ajuda na instalação, quando entre com
sudo su postgres -c psql postgres
da o seguinte erro
you must install at least one postgresql-client-<version. package
cara aqui ta dando esse erro:
psql: could not connect to server: Arquivo ou diretório inexistente
Is the server running locally and accepting
connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432”?
ja procurei em todo lugar e nao consegui achar uma maneira de arrumar isso 😦 alguem me da uma luz por favor!
Voce conseguiu resolver este problema ? caso sim manda um email por favor,
waldsonfreitas@hotmail.com
@Leonardo
Tenta instalar o pacote postgresql-contrib. Comigo funcionou.
fonte: http://hocuspokus.net/2008/05/install-postgresql-on-ubuntu-804
Olá!
Eu preciso de aceder a um banco de dados (pgadmin3) que está a rodar noutro pc de minha casa e não estou a conseguir. o que é que preciso de configurar?
Oi Carlos. Tudo indica que falta configurar corretamente o arquivo pg_hba.conf. Tente logar nela localmente para ver se rola, se rola, é o pg_hba.conf mesmo.
Olá! obrigado pela ajuda!
Depois de uma noite inteira de trabalho consegui descobrir o que se passava! “A ordem que se coloca nos IP no pg_hba.conf é importante…” ou seja agr já consegui com a seguinte alteração:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all 192.168.1.131 md5
host all all 192.168.1.0 255.255.0.0 md5
Muito obrigado pela ajuda!
Espero que este código ajude muita gente:)
o código anterior está errado…
este é que está certo (sorry!)
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# IPv4 local connections:
host all all 192.168.1.0/24 trust
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all 192.168.1.0/24 trust
host all all ::1/128 md5
host all all 192.168.1.2 md5
Muito obrigado,
Estou tendo meu promeiro contato com postgres e foi fácil com este passo a passo.
abraços
Caro Juliano,
Tenho instalado em minha máquina o Ubuntu 9.04. Tentei seguir passo a passo suas instruções para instalar o Postgresql 8.3, mas apresentou uma mensagem dizendo: pacote inexistente. Instalei o ubuntu pelo CD que eles me enviaram. Que devo fazer? Onde consigo os pacotes para instalação? Obrigado…
Vc deve ter digitado o nome do pacote errado, ou então esta com uma versao mais nova/velha do ubuntu que nao tem o postgres 83.
Procure com o comando:
sudo apt-cache search postgresql
E veja assim o que tem disponivel para instalar.
[]s
Pessoal, enviem perguntas no meu novo Blog em http://jmmwrite.blogspot.com/2008/05/instalando-e-configurando-o-postgresql.html
Lá eu responderei.
ALTER USER postgres WITH PASSWORD ‘password’;
Tirando essa linha que o password nao esta com aspas simples, ficou show de bola…
Sempre que vou configurar o SGBD com PGAdmin recorro a esse tipo de documentacao por nao memorizar, Obrigado!
Quanto executei o primeiro comando no terminal ($ sudo apt-get install postgresql-8.3 postgresql-client-8.3), o mesmo retornou uma msg de erro do tipo: E: Impossível achar pacote postgresql-8.3. O que está errado? O que devo fazer?
Obrigada!
Oi Sâmia.
A versão do seu Linux deve ser diferente da minha na época deste tutorial, então você deve procurar a versão que você tem em seu repositorio.
Use o comando “apt-cache search postgresql”
Aqui no meu Ubuntu 9.10, que é o mais recente, eu vejo na lista o 8.3 e o 8.4. Execute o comando acima e veja os pacotes. Se não os ver, verifique a versão do seu Ubuntu ou mesmo se é ubuntu.
Olá Juliano,
Grato pelos esclarecimentos.
Um abraço
Obrigado!
Valeu!!!
Ótimo tutorial. Direto, simples e prático! Funcionou blz aqui, com postgres 8.4, no Ubuntu 9.10!
Show de Bola!!!
Olá! Caso alguém tenha algum problema de autenticação ao utilizar o pgAdmin, como este: ‘Um erro ocorreu:
Error connecting to the server: FATAL: autentica??o do tipo Ident falhou para usu?rio “postgres”‘
O motivo desse erro é porque, na hora de “Adicionar conexão a um servidor”, eu não especifiquei o endereço de onde ficaria o servidor. Nesse caso, basta colocar localhost no campo “Máquina”, por exemplo.
Abraços!
Muito bom o tuto…..funcionou perfeitamente.
Obrigada
Extremamente útil! Obrigado por você compartilhar o conhecimento proposto!
Ola. REalmente a dica funciona e esta bem explicada. Coisa muito dificil na web, pois os postadores acham que todos tem o mesmo nivel de conhecimento e postam soluções que exigem uma base de conhecimentos que a maioria dos usuarios nao tem. Esse tutorial é dez;
Cara, muito obrigado pelo post com essa dica, eu estava dependendo dela.
Abraços!!!!
Excelente post! É raro encontrar um que funcione tão bem.
Cara,
Muito bom esse Post, usei ele para configurar meu Postgres, e funcionou beleza.
Muito sucesso pra ti
Obrigado pela ajuda!
Para resolver esse problema no Ubuntu:
1.
$ sudo vi /etc/postgresql/8.4/main/postgresql.conf
2. Localize e altere o parametro Port = 5433 para Port = 5432
3. Reiniciar o PostGreSql
$ cd /etc/init.d
$ sudo ./postgresql-8.4 stop
$ sudo ./postgresql-8.4 start
OK! No meu caso funcionou beleza.
Ivanelson
Olá, instalei o postgres 8.4 via terminal e também instalei o PGadmin3 no ubuntu desktop, o postgres funciona correta mente via terminal mas quando abro o PGadmin3 não parece nenhum servidor como faço para corrigir isso.
Mt Obrigado pela ajuda!
Estou com um problema com o postgre depois de instalado no Ubuntu 8. Quando executo o primeiro comando do artigo (sudo su postgres -c psql postgres) o postgre pede Senha. Já tentei “postgres” e vazia (“”), mas nada adianta.
Já OK.
muito eficiente, valeu.
Eu gosto de usar com Postgresql em ubuntu – ferramenta gratuita Valentina Estúdio, faz tudo o que eu preciso, e faz isso muito bem http://www.valentina-db.com/en/valentina-studio-overview