2011年10月31日月曜日

PostgreSQLへの接続

どうも、69と申します。

ちょっと前にこういう記事を読んだので、煮干しを食べながらの更新です。
そして、 煮干し旨い!

で、本題はというと、PostgreSQLへの接続についてです。
え~、前にHBAの記事で接続の許可を設定しました。
しかし、実はそれだけでは足りません!!

データベースクラスタ内の”postgresql.conf”をいじらないといけません。
この”postgresql.conf”ファイルはデフォルト値を明示的に”#”コメントとして書いてあります。
で、変更する場合は”#”コメントをはずし、変更値を入力します。


今回は接続の設定を行います。

# listen_address = 'localhost'
#port = 5432

となってるはずでした。。。
今確認したら


listen_address = '*'
port = 5432

となっていました。。。
自分は変更していないので、もしかするとダウンロードしたRPMがそういうものなのかもです。
行おうと思っていた設定なので、万々歳なのですが。。
意味はというと

listen_address = '*'

が、全てのホストからの接続を受け付ける

port = 5432

が、ポート”5432”番を使用する、です。
最初に書いた

# listen_address = 'localhost'
#port = 5432
では、

ローカルホストから5432番ポートへの接続のみを受け付ける

となってしまいます。接続に関しては以上です。
あ、ちなみにポートを変更した場合、クライアントはポートを指定しないと接続できません。。
クライアントのツールの設定を変更すれば不要なんですが、ポート指定の方が楽です。


まとめると

<データベースクラスタ>/pg_hba.conf
 ⇒接続認証設定
<データベースクラスタ>/postgresql.conf
 ⇒接続受付設定


を行えば、他のホストからのPostgreSQL接続は可能になるということです。
以上を行って、接続できない場合は。。。
ポートの競合やデータベースが起動しているかなどが怪しいです。。多分。。
それか、もっと下位層(Pingが通るかなど)も確かめるべきですね!

0 件のコメント:

コメントを投稿