7

マスターホットスタンバイとして構成された2つのPostgreSQL9.1からpgpool-II3.2.1を使用しています。

PGAdminから認証しようとすると、次のようになります。

Error connecting to the server: FATAL:  password authentication failed for user "postgres"

pgpoolログには次のように表示されます。

2012-11-01 14:40:13 LOG:   pid 3023: connection received: host=89.xxx.xxx.xxx port=57150
2012-11-01 14:40:13 DEBUG: pid 3023: Protocol Major: 1234 Minor: 5679 database:  user: 
2012-11-01 14:40:13 DEBUG: pid 3023: SSLRequest from client
2012-11-01 14:40:13 DEBUG: pid 3023: pool_ssl: SSL requested but SSL support is not available
2012-11-01 14:40:13 DEBUG: pid 3023: read_startup_packet: application_name: pgAdmin III - Browser
2012-11-01 14:40:13 DEBUG: pid 3023: Protocol Major: 3 Minor: 0 database: postgres user: postgres
2012-11-01 14:40:13 DEBUG: pid 3023: new_connection: connecting 0 backend
2012-11-01 14:40:13 DEBUG: pid 3023: new_connection: connecting 1 backend
2012-11-01 14:40:13 DEBUG: pid 3023: pool_ssl: SSL requested but SSL support is not available
2012-11-01 14:40:13 DEBUG: pid 3023: pool_ssl: SSL requested but SSL support is not available
2012-11-01 14:40:13 DEBUG: pid 3023: pool_read_message_length: slot: 0 length: 12
2012-11-01 14:40:13 DEBUG: pid 3023: pool_read_message_length: slot: 1 length: 12
2012-11-01 14:40:13 DEBUG: pid 3023: pool_do_auth: auth kind:5
2012-11-01 14:40:13 DEBUG: pid 3023: trying md5 authentication
2012-11-01 14:40:13 DEBUG: pid 3023: password does not match: frontend:md5286c9c7c4ac8a365170e0f448c99ad48 pgpool:md5cf0e9615c13af6243edfd11d2461d12e
2012-11-01 14:40:13 DEBUG: pid 3023: do_md5failed in slot 0

本当に奇妙なのは、ログからのmd5ハッシュがリクエストごとに変わるため、/ usr / local / etc/pool_passwdと/usr/local/etc/pcp.confの両方で設定したものと比較しても意味がないことです。

構成の問題を見つけるのを手伝ってもらえますか?

4

2 に答える 2

7

「pg_md5」の使用方法によって異なります...ユーザー名を含めていない場合、ソルトで使用されていることは間違いないため、間違ったMD5が生成されます。

root:/usr/local/etc# pg_md5 password1
7c6a180b36896a0a8c02787eeafb0e4c

ただし、正しい構文を使用すると、正しいエントリが自動的に pool_password ファイルに追加されます。

root:/usr/local/etc# pg_md5 -m -u greg password1
root@1:/usr/local/etc# grep greg: pool_passwd
greg:md53c5b45b54c89f8af9074a2ad371e2c12
于 2015-02-26T11:08:22.350 に答える
7

問題を発見!

pg_md5これは pgpool と一緒に出荷され、誤った md5 を生成しました (私が使用したとき)。構成でPostgreSQL DBのmd5に置き換えた後、機能しました。次の SQL クエリを実行して、DB md5 を取得できます。

select passwd from pg_shadow where usename = 'username';
于 2012-11-02T07:08:47.627 に答える