アプリ版:「スタンプのみでお礼する」機能のリリースについて

PostgreSQLを初めて使用しようとしている者です。

WindowsServer(2012)上にインストールしたPosgreSQL(9.4.5)に対し、pgadmin3を使用して、データベースとテーブルを作成しました。

データを登録した状態で、JDBCドライバを使用して、別のサーバー上のWebアプリからアクセスしようとしたところ、アクセス拒否されたので、以下の措置を施しました。

1. pg_hba.conf でアクセス許可の設定
# host all all 127.0.0.1/32 md5
 とコメントアウトして、下記を追加。
host all all 0.0.0.0/0 md5
2.ルータへポート解放
プロトコル:TCP 許可
送信元:***.***.***.***/32 ポート:any
宛先:0.0.0.0/32 ポート:5432
3.Windowsファイヤウォールの設定
「受信の規則」「特定のローカルポート」ポート番号5432 に対して「接続を許可する」

この3つを行ったところ、JDBCを介したWebアプリによるアクセスが出来るようになりました。

ところが、登録したPostgresqlのテーブルに対して、インデックスを貼ろうと思い、pgadmin3を起動してデータベースに接続しようとしたところ、

FATAL: no pg_hba.conf entry for host "::1", user "postgres", database "dbname", SSL off

とエラーが出て接続できなくなってしまいました。
エラーのヘルプで出てきたように、
サーバーも接続するクライアントも192.168.0.0のアドレスなので、pg_hba.confを
host all all 192.168.0.0/24 md5
のように書き換えて、postgreSQLを再起動しましたが結果は同じでした。

pg_hda.confの内容で、何がおかしいのか良く判りません。
何方か詳しい方のアドバイスが頂けたら幸いです。

A 回答 (1件)

エラーメッセージにある通り、"::1"のホストを許可していないのでは?


"::1"のエントリを追加するか、IPv6をoffにするかでしょうか。
    • good
    • 0
この回答へのお礼

lowrider_2005さん
コメント有難うございました。

コメントになっているIPV6用のエントリを入れたら接続できるようになりました。なぜ、このタイミングでIPV6が効いてくるのか良く判りませんが、そういうものなんですね...

大変助かりました。改めて御礼申し上げます。

お礼日時:2018/04/03 19:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!