Postgres acesso

19 respostas
R

Pessoal…

tenho um banco chamado trab no postgresql em uma maquina…

e minha aplicacao tem q acessar esse banco…

na minha classe de conexao eu fiz assim :

String url=jdbc:postgresql://Localhost:5432/trab;

String user=postgres;

String senha=post;

conn = DriverManager.getConnection(url,user,senha);

so que preciso configurar essa url pq de outra maquina nao funciona…

nao sei se no postgresql eu tenho q configurar alguma coisa no server…

alguem sabe??

pq no banco q eu tenho ele esta num server localhost…

mas acho q tenho q add um novo server e configurar algo…

alguem pode me ajudar???

19 Respostas

F

Renan,

Se você for acessar o banco de outra máquina que não seja a que está rodando o banco tens que colocar ao invés de localhost o ip ou hostname da máquina que está instalado o banco.

Por exemplo:

Quando eu roda o banco que está no servidor, eu passo por parametro o ip 192.168.55.100 no colocar do localhost.

Faça isso, e veja se funciona. Caso não funcione daí terá que liberar o seu ip no banco. Faça teste.

Boa sorte.

R

Não se entendi bem seu problema, mas pelo jeito vc quer conectar sua aplicação a um banco de dados remoto (ou seja, q não está em sua máquina local).

É o seguinte, em termos de aplicação não muda muita coisa não, por exemplo: suponhamos q esse banco de dados esteja em uma máquina com o ip 200.164.219.26, então sua url = “jdbc:postgresql://200.164.219.26:5432/trab”.

Pronto, sua máquina vai conectar ao banco de dados q está na máquina 200.164.219.26, mas tem um problema. Vc tem q verificar se o postgres instalado na outra máquina está configurado para receber conexões remotas, e quais redes podem fazer essa conexão. Para isso vc tem q verificar os arquivos pg_hba.conf e alterá-lo conforme sua necessidade veja um exemplo: http://pgdocptbr.sourceforge.net/pg80/client-authentication.html#EXAMPLE-PG-HBA.CONF
Vc tbm deve verificar o arquivo postgresql.conf.

R

vlw gente é isso mesmo que tava pensando… to lendo o tutorial passado pelo nosso amigo ai de cima … qualquer duvida entro em cotnato novamente…

obrigado MESMO GENTE…

R

ae … nao to conseguindo…

ta dando o erro: org.postgresql.util.PSQLException: Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se o postmaster está aceitando conexões TCP/IP.

eu coloquei la no meu arquivo pg_hba.conf

host all all 0.0.0.0/0 password

para liberar para todos mas nao to conseguindo…

ajuda aeee

R

ninguem pode ajudar?

R

Desculpe não ter ajudado antes. Mas tenta o seguinte: abre o arquivo chamado postgresql.conf.

Então vc procura por uma linha com o seguinte frase: CONNECTIONS AND AUTHENTICATION

Logo abaixo dessa linha tem uma frase: listen_addresses = ‘localhost’

Se essa linha tiver comentada, vc primeiro descomenta e altera o ‘localhost’ para ‘*’

Ou seja, a linha vai ficar: listen_addresses = ‘*’

Tenta isso aí, qualquer coisa estamos na área…boa sorte!

R

Vlw… cara… dessa vez consegui…

so que tinha outro detalhe… tem q parar o servico do banco e iniciar novamente… se nao nao funciona…

R

mas olha so cara… . na minha maquina continua funcionando , mas na outra maquina nao esta…

continua dando o mesmo erro.

org.postgresql.util.PSQLException: Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se o postmaster está aceitando conexões TCP/IP.

no postgresql.conf coloquei … listen_addresses = ‘*’

no pg_hba.conf coloquei :

host all all 0.0.0.0/0 password

e entao na minha maquina funcionou, com o acesso a string

jdbc:postgresql://10.3.186.22:5432/trab;

porem na outra maquina nao funciona,

continua dando o erro de acesso

sera que tem q configurar algo do tipo :postmaster aceitando conexões TCP/IP. ???

ajuda!!!

R

será que hoje alguem pode me ajudar???

F

Renan,

Eu te aconselho a reinstalar o postgres, caso seja possível, e repetir os passos.

Tente.

R

Explica melhor aí como está sua infra-estrutura. Tipo quantas máquinas são? Qual o sistema operacional de cada uma? Qual máquiva está com o banco de dados q será acessado? Quais máquinas vão acessar remotamente o banco?

Pq somente com isso q t passei já deveria estar funcionando. Ah lembrei, no arquivo pg_hba.conf a linha q vc colocou: host all all 0.0.0.0/0 password muda para: host all all 0.0.0.0/0 md5

Tenta isso.

R

nada cara… na minha maquina funciona mas na outra q to testando nao esta nao…

a maquina em que esta o banco e a minha , windows Xp

e a outra q esta tentando acesso e Windows2000 professional…

R

Td bem, então vc tem q ter o postgres na sua máquina. e td essa configuração tem q ser feita nos arquivos do Postgres da sua máquina.

Nas máquinas clientes onde rodam sua aplicação vc tem q ter no mínimo o jdbc para o postgres. Nelas vc não precisa configurar esses arquivos.

Verifique se o serviço do postgres está em execução na sua máquina.

Caso isso não solucione, talvez seja problema no seu postgres como falou o fsquadro, daí a solução é reinstalar td.

G

Bom dia.

Não sei quanto ao Windows, mas no Linux se vc adicionar a opção “-i” na inicialização do servidor ele habilita as conexões TCP/IP, dê uma checada em como fazer isso no Windows.

T+

R

Conselho: Se for possível, tente colocar o seu SGBD em um Servidor com Linux, o Postgres tem uma desempenho muito melhor em Linux do q no Windows

R

Pessoal Consegui …

Tudo certo… estava fazendo tudo certo…

e sabem o que era que estava bloqueando meu acesso…:???

adivinhem???

o FIREWALLL DO WINDOWS;;; esta merdaaaaaaaaa…

depois que eu desativei o firewall do windows… funcionou;…

e o pior e que ninguem tinha pensado nisso… nem eu,rsrsr

mas vlw galera…!!!

obrigado mesmo assim

peço ao moderador que coloque o titulo resolvido na mensagem

S

Bom dia.

Estou com o mesmo erro que você estava tendo.
Já fiz tudo o que foi dito neste post, até o firewall. Mas nada, não funciona na outra máquina.
Uma pergunta meio e inteira tonta. Tem que instalar alguma coisa no cliente?

Agradeço.

Sandra Haine

Z

Bem, cada host é diferente, e a configuração é muito especifica. Tente verificar se há outro servidor em sua máquina, por exemplo: eu uso o visual studio web e ele ocupa muitas portas, melhor dizendo as mesmas do apache. Além disso há o oracle e firewall que pode estar impedindo e se vc instalou o netbeans e esta tentando acessar o mesmo tomcat e não esta conseguindo é alguma configuração no eclipse e variavel do ambiente.

Se não for nenhum desses citados acima, verifique se seu tomcat esta completo, muitas vezes a versão que vem o installer configura automaticamente e o eclipese não lê por algum arquivo não esta na pasta que o eclipse determina automaticamente

A

ressuscitando o tópico

alguém aí ajuda?

fiz as devidas modificações citadas no tópico

Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se o postmaster está aceitando conexões TCP/IP.
Error Code: 0

E depois de modificar os arquivos, parei e iniciei o Postgres mesmo assim não funcionou e também desativei o Firewall do Windows

O arquivo xml da aplicação tá assim

<property name="toplink.jdbc.url" value="jdbc:postgresql://192.168.0.155:5432/cartorio"/>

O arquivo postgresql.conf deixei assim

# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'

E o arquivo pg_hba.conf tá assim

# "local" is for Unix domain socket connections only
local   all         all                               md5
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         0.0.0.0/0             md5
#Permitir qualquer usuario de qualquer host com IP 192.168.0.X
#se conect ao banco de dados cartorio
host    cartorio    all         192.168.0.0/24        md5
Criado 12 de abril de 2007
Ultima resposta 14 de out. de 2010
Respostas 19
Participantes 7