2012-06-23 19 views
13

sto di recente creazione e la gestione di un server R2 di Windows 2008 con VMware Workstation 8.problemi di connessione pgAdmin3

Sono in esecuzione una macchina Linux virtuale CentOS 6.2 con PostgreSQL 9.1. Tutto sembra ok localmente e posso collegarmi al box CentOS tramite una connessione di rete a ponte.

Ho seguito la procedura David Ghedini's per la configurazione di Postgresql 9.1. Quindi sono in grado di avviare una finestra di sessione di mastice, accedere come root e avviare la shell di psql e le istruzioni di rilascio come utente di Postgres. Il mio problema è che non riesco a connettermi usando pgAdmin III dal mio client Windows 7. Ho aggiornato il /var/lib/pgsql/9.1/data/postgresql.conf per abilitare listen_addresses '*', ecc.

Qualcuno potrebbe darmi qualche consiglio su come trovare la mia colpa. Assicurati che Windows Firewall sia disabilitato anche sul server Windows.

Il client pgAdmin III riporta;

'Server non ascolta'

Il server non accetta connessioni: i rapporti di raccolta connessioni

non poteva connettersi al server: Timeout della connessione (0x0000274C/10060) Il server è in esecuzione sull'host "192.168.1.26" e accetta le connessioni TCP/IP sulla porta 5432?

Questa è la voce del file pg_hba.conf aggiunto:

#TYPE DATABASE USER ADDRESS   METHOD 
host all  all 192.168.1.0/24 trust 

e il file iptables voci aggiunte:

-A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 192.168.1.26 --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -s 192.168.1.26 --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT 
+0

hai riavviato il servizio postgresql dopo aver aggiornato il file conf? inoltre, pg_hba.conf potrebbe essere ciò che sta causando problemi. [Ecco una copia che utilizzo per l'istanza di dev postgres] (https://gist.github.com/2854761). è ** estremamente ** permissivo ma dovrebbe funzionare per lo sviluppo per te. – swasheck

+0

salvo che, si prega di postare l'errore che è dato da pgAdminIII – swasheck

+0

Mmm .. dannazione, sentivo che deve essere stata la voce host 'pg_hba.conf'. Ho seguito il tuo synatax e aggiunto un host a tutti gli accessi, ho ricaricato il file conf ma ricevo comunque il messaggio 'Server does not listen'. L'attesa per la connessione sta cominciando a tormentarmi! – MaRk

risposta

12

è necessario regolare pg_hba.conf:

http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html

Dopo aver aggiunto il proprio host e l'utente corrispondente, riavviare il server postgresql quindi si spera che sia possibile connettersi.

Inoltre potrebbe essere necessario abilitare è porta sulla rete: http://www.cyberciti.biz/tips/postgres-allow-remote-access-tcp-connection.html

+0

Se si trattasse del file pg_hba.conf, penso che l'utente avrebbe ricevuto un messaggio di errore diverso. – kgrittn

+0

Andrew, ho seguito le guide nei due collegamenti forniti e ho aggiornato l'OP per mostrare queste voci. Ho pensato che le voci di iptables avrebbero fornito la soluzione, ma sfortunatamente non riesco ancora a collegarmi con pgAdmin III e ricevere lo stesso errore. – MaRk

+0

OK, ora sono connesso! Whoohoo! Grandi cose. Ho riavviato il servizio e sono riuscito a connettermi. Molte grazie, sono sicuro che l'unica cosa eccezionale era la configurazione di iptables. Comunque, molte grazie. – MaRk

0

è il server in esecuzione su di accoglienza "192.168.1.26" e accettando TCP/IP connessioni sulla porta 5432?

Verificare che il server abbia quell'indirizzo IP. Verifica che ci siano processi postgres in esecuzione. Utilizzare netstat per confermare che il server è in ascolto sulla porta 5432.

+0

Sì, il server è sicuramente su quell'IP in quanto posso ssh e login. Come originariamente affermato, ho verificato che Postgres è in esecuzione eseguendo i comandi nella shell di psql come utente di Postgres. È interessante notare che quando eseguo il comando netstat non sembra che si veda la porta 5432. – MaRk

+2

Accedere con 'psql' e digitare' show port; 'e' show listen_addresses; '. Forse qualcosa ha scavalcato le impostazioni che pensi di utilizzare o devi riavviare il server. Inoltre, c'è qualche possibilità che la VM stia implementando una specie di firewall? – kgrittn

0

Ho lo stesso problema. Ho disabilitato tutti i miei antivirus e firewall di terze parti e ho reinstallato nuovamente PostgreSQL e ora funziona bene ...:)

1

Assicurarsi PostgreSQL Server è consentito attraverso il firewall:

Sul computer server, andare a

Pannello di controllo> Sistema e sicurezza> Windows Firewall> Consenti un app tramite Windows Firewall

Scorrere le applicazioni e le funzionalità consentite, assicurarsi che 'Server PostgreSQL' sia selezionato.