2013-04-24 12 views
5

ho installato postgresql in conformità con le istruzioni fornite in: http://xadmin.info/?p=284Problemi durante la connessione psql

# pg_ctl -D /var/lib/pgsql/data -l pglog.log start 
server starting 
[email protected]:~> psql 
psql: could not connect to server: No such file or directory 
    Is the server running locally and accepting 
    connections on 
Unix domain socket "/tmp/.s.PGSQL.5432"? 

Non ricevo sul motivo per cui mi appare questo errore quando ha avviato il server ... qualcuno può per favore per favore Aiuto.

Il mio file pglog.log mostra il seguente output:

2013-02-06 19:43:39 GMT FATAL: lock file "postmaster.pid" already exists 
2013-02-06 19:43:39 GMT HINT: Is another postmaster (PID 23971) running in data directory "/var/lib/pgsql/data"? 
2013-02-06 19:44:02 GMT FATAL: lock file "postmaster.pid" already exists 
2013-02-06 19:44:02 GMT HINT: Is another postmaster (PID 23971) running in data directory "/var/lib/pgsql/data"? 
2013-04-24 12:43:29 GMT FATAL: data directory "/var/lib/pgsql/data" has group or world access 
2013-04-24 12:43:29 GMT DETAIL: Permissions should be u=rwx (0700). 
2013-04-24 12:44:07 GMT FATAL: data directory "/var/lib/pgsql/data" has group or world access 
2013-04-24 12:44:07 GMT DETAIL: Permissions should be u=rwx (0700). 
2013-04-24 12:57:02 GMT FATAL: data directory "/var/lib/pgsql/data" has group or world access 
2013-04-24 12:57:02 GMT DETAIL: Permissions should be u=rwx (0700). 
2013-04-24 12:57:40 GMT FATAL: data directory "/var/lib/pgsql/data" has group or world access 
2013-04-24 12:57:40 GMT DETAIL: Permissions should be u=rwx (0700). 

ps -ef | postgres grep

root  21659 21591 0 19:14 pts/0 00:00:00 grep --color=auto postgres 

risposta

1

Verificare nel file pglog.log al fine di garantire che il server ha effettivamente iniziare senza errori. Dato l'errore sembra non aver iniziato correttamente.

+0

Ho inviato il contenuto del mio file pglog.log. Spero che questo mi aiuti ad aiutarmi ulteriormente – user1778824

+0

È elencato un numero di errori irreversibili per quanto riguarda le autorizzazioni, quindi vorrei verificarlo prima e anche assicurarmi che non sia già in esecuzione un processo Postgres separato che anche i registri notano. –

+0

come faccio a controllare che venga arrestato il processo postgres separato – user1778824

1

Probabilmente non hai il tuo server configurato per mettere i socket di dominio unix in "/ tmp". Probabilmente è da qualche parte come "/ var/run/pgsql" ma guarda il tuo file postgresql.conf per vedere esattamente cosa.

Quindi è possibile specificare questa directory come "host", nella riga di comando:

psql -h /path/we/want ... 

Se questo non è il problema, controllare il numero di porta.

Non so perché/come il tuo server psql e il server postgresql hanno percorsi predefiniti diversi, ma non ho mai sentito del sito da cui hai ricevuto le istruzioni, quindi non ho idea di quanto siano utili.

+0

Con psql -h localhost. Ottengo: psql: impossibile connettersi al server: Connessione rifiutata \t Il server è in esecuzione su host "localhost" (:: 1) e accetta \t connessioni TCP/IP sulla porta 5432? non è stato possibile connettersi al server: Connessione rifiutata \t Il server è in esecuzione su host "localhost" (127.0.0.1) e accetta \t connessioni TCP/IP sulla porta 5432? – user1778824

+0

Grazie per l'aiuto. Spero che il comando precedente ti aiuti ad aiutarmi ulteriormente – user1778824

+0

No. Perché sei passato da socket di dominio a tcp/ip via localhost. Prendi un caffè, trova il tuo file postgresql.conf e leggilo e la sezione di configurazione dei manuali online. –

13

Le autorizzazioni e la proprietà su /var/lib/pgsql/data dovrebbe essere:

# ll -d /var/lib/pgsql/data 
drwx------. 15 postgres postgres 4096 Apr 24 10:27 /var/lib/pgsql/data 

Se non sono fanno come root:

# chmod -R 700 /var/lib/pgsql/data 
# chown -R postgres /var/lib/pgsql/data 
+0

Grazie mille per aver risposto. Ma anche dopo aver cambiato l'autorizzazione e la proprietà che mi sta dando la stessa error..psql: impossibile connettersi al server: No such file or directory \t è il server che esegue a livello locale e di accettare \t connessioni socket di dominio Unix "/ tmp /. s.PGSQL.5432" ? – user1778824

+0

postgres stava lavorando bene, prima ho cambiato il file pg_hba.conf a: # TYPE DATABASE INDIRIZZO UTENTE METODO # "locale" è per Unix connessioni socket di dominio solo locali tutti tutti fiducia # IPv4 connessioni locali: ospitanti tutti tutti 127.0 .0.1/32 trust # connessioni locali IPv6: host tutti tutti :: 1/128 trust – user1778824

+0

Ho provato a ripristinare le modifiche precedenti da trust a ident e peer..in ogni caso il mio errore persiste – user1778824