Windows Vista に postgres をインストールしようとしましたが、うまく動作しないようです。
PGAdmin ツールをダウンロードし、ローカルホストに接続しようとすると、接続が拒否されたという一般的なメッセージが表示されます。
すべてのIPアドレスでリッスンを有効にし、ローカル認証を「信頼」に設定しました
サーバーが実際に実行されているかどうかを確認する方法がわかりません。Windows でもユーザー名は postgres のままだと思います。
どのようなツールを使用すればよいのか、どのようなプロセスを探せばよいのか全くわかりません。
実行されていない postgresql-9.1 サービスがあり、これを起動しようとすると、「ローカル コンピューターの postgresql-9.1 サービスが開始され、その後停止しました。一部のサービスは、他のサービスまたはプログラムによって使用されていない場合、自動的に停止します。」というメッセージが表示されます。
アイデアが尽きました。誰か助けてくれませんか?
PS. 以下は私のpg_hbaファイルです
#IPv4 local connections:
host all all 192.168.0.1/16 trust
#IPv6 local connections:
host all all * trust
host all postgres 192.168.0.1/16 md5
host all postgres ::1/128 md5
local all all trust
PPS. エラー ログには次のように書かれています:
011-11-20 21:58:07 EST LOG: local connections are not supported by this build
2011-11-20 21:58:07 EST CONTEXT: line 87 of configuration file "C:/Program Files/PostgreSQL/9.1/data/pg_hba.conf"
2011-11-20 21:58:07 EST FATAL: could not load pg_hba.conf
答え1
推測ですが、エラー メッセージに書かれているように、87 行目を見れば、おそらくそれが「local all all」行であることがわかるでしょう。エラー メッセージに書かれているように、「local」接続はサポートされていません。
「ローカル」接続タイプは、TCP ソケットではなく UNIX ソケット用であり、Windows ではサポートされていません。
答え2
PostgreSQL は、pg_hba 内のその行を黙って許容していました。
http://www.postgresql.org/docs/9.1/interactive/release-9-1.html#AEN106700
ローカルのパスワードなしの接続が必要な場合は、これを実行できます。
host all all 127.0.0.1/32 trust