質問: 5432 # (change requires restart) ``` ファイアーウォールのport5432開けるも変わらず、 試しにファイアーウォールとウィルスソフトを無効にするも変わらずと、手詰まり感がでてきております。 windows7でpostgresqlが接続できる方法やサイトがもしあれば、教えていただけませんでしょうか。 追記しました。 メッセージありがとうございます、 pg_hba.confは下記になっておりました。 @authcomment@ TYPE DATABASE USER ADDRESS METHOD @remove-line-for-nolocal@# "local" is for Unix domain socket connections only @remove-line-for-nolocal@local all all @authmethodlocal@ IPv4 local connections: host all all 127.0.0.1/32 @authmethodhost@ host all all 127.0.0.1/32 password IPv6 local connections: host all all ::1/128 @authmethodhost@ Allow replication connections from localhost, by a user with the replication privilege. @remove-line-for-nolocal@local replication all @authmethodlocal@ host replication all 127.0.0.1/32 @authmethodhost@ host replication all ::1/128 @authmethodhost@
回答: PostgreSQLへの接続をどういう認証方式を使うのかによって、 pg_hba.confに書く定義を直さないと繋がりません。 通常(?)はパスワード認証でしょうから、md5ですかね。 コマンドプロンプトでPostgreSQLを立てているWindowsパソコン上で接続するとき、 psqlコマンドの-hオプションでホスト名localhostや127.0.0.1を指定すると pg_hba.confファイルのhost行が使われ、 指定無しの場合はlocal行が使われたりします。 例えば、 ``` # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 ``` 認証方式のトラブルで接続できない場合は、 pg_logディレクトリ上に記録される人間が読める形式のログファイルに その旨ヒントが残るので設定を変えてみるべきです。 (うちは64bit版入れているので C:\Program Files\PostgreSQL\9.6\data\pg_log にあります。) 質問文中に掲載していただいたもので、 「@authmethodhost@」の記述がなんかおかしいので 適切な認証方式名称に書き換えるか 行そのものを省くべきかと。