2013-04-24 8 views
5

を接続している間、私はで与えられた指示に従ってPostgreSQLのインストール:http://xadmin.info/?p=284問題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"? 

私は...、サーバが起動したとき、私はこのエラーを取得しています理由として誰かしてくださいしてくださいすることができます取得しておりません助けて。 |

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:

私pglog.logファイルには、次のような出力を示していサーバーが実際にエラーなしで起動しなかったことを確実にするpglog.logファイル内のgrepをPostgresは

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

答えて

1

チェック。エラーが発生した場合、正しく起動しなかったようです。

+0

私はpglog.logファイルの内容を掲載しています。希望は私をさらに手伝ってくれるのに役立ちます。 – user1778824

+0

それは、アクセス権に関する致命的なエラーをリストしているので、最初にチェックして、別のPostgresプロセスがログも記録していないことを確認します。 –

+0

別のpostgresプロセスを停止する方法を確認するには – user1778824

1

"/ tmp"にUNIXドメインソケットを配置するようにサーバーを設定していない可能性があります。おそらく "/ var/run/pgsql"のようなところでしょうが、postgresql.confのファイルを参照してください。

その後、あなたは、コマンドラインの「ホスト」として、このディレクトリを指定することができます:それは問題ではない場合

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

、ポート番号を確認してください。

あなたのpsqlクライアントとpostgresqlサーバのデフォルトのパスが異なる理由はわかりませんが、私はあなたが指示を受けたサイトについて聞いたことがないので、その有用性はわかりません。

+0

psql -h localhostを使用します。私は得る: psql:サーバーに接続できませんでした:接続が拒否されました \tサーバーはホスト "localhost"(:: 1)で実行されていて、ポート5432の \t TCP/IP接続を受け入れていますか? サーバーに接続できませんでした:接続が拒否されました \tサーバーがホスト "localhost"(127.0.0.1)で稼働していて、ポート5432の \t TCP/IP接続を受け入れていますか? – user1778824

+0

助けてくれてありがとう。うまくいけば、上のコマンドがあなたを助けてくれます。 – user1778824

+0

いいえ、あなたはlocalhost経由でドメインソケットからtcp/ipに切り替えました。コーヒーを入手し、postgresql.confファイルを見つけて、オンラインマニュアルの設定セクションを読んでください。 –

13

/var/lib/pgsql/data上のアクセス権と所有権は次のようになります。

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

彼らはrootとして行うされていない場合は、次の

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

返信いただきありがとうございます。しかし、アクセス権と所有権を変更しても、同じエラーが発生します.psql:サーバーに接続できませんでした。そのようなファイルやディレクトリはありません。 \tサーバーはローカルで稼動していますか? \tをUNIXドメインソケット "/ tmp/s.PGSQL.5432 "?私はpg_hba.confファイルを変更する前 – user1778824

+0

Postgresは罰金働いていたに:#TYPE DATABASEのユーザアドレスMETHOD「ローカル」 #は、Unixドメインソケット接続のみ 地元すべてすべて信頼 #IPv4のローカル接続のためである: ホストすべてすべての127.0 .0.1/32 trust #IPv6ローカル接続: ホストall all :: 1/128 trust – user1778824

+0

私は上記の変更をtrustからidentとpeerに戻そうとしましたが、私のエラーは持続します – user1778824