web-dev-qa-db-ja.com

pgpoolレプリケーションがmd5認証を許可しない

Pgpoolとpostgresqlの両方をapt経由でインストールしました。

pgpool.confでは、レプリケーションモードを使用するために必要な変更と、2つのpostgresqlデータベース(現在はすべて同じホストで実行されています)を変更しました。

Pgpoolに接続するためにpg_hba.confファイルに何を追加する必要があるのか​​理解できません。このエラーが発生し続ける

createdb: could not connect to database postgres: ERROR:  MD5 authentication 
is unsupported in replication, master-slave and parallel modes.
HINT:  check pg_hba.conf

両方のpg_hba.confファイルは次のようになります

local   all             postgres                                peer

local   all             all                                     peer
local   all             postgres                                md5

Host    all             all             127.0.0.1/32            md5

Host    all             all             ::1/128                 md5

local   replication     postgres                                peer
Host    replication     postgres        127.0.0.1/32            md5

私のpool_hba.conf

local   all         all                               trust
local   all         postgres                          md5
local   all         all                               md5     

Host    all         all         127.0.0.1/32          trust

Pgpoolを私のデータベースに接続させるために何が欠けていますか?

3
Justin Wood

TCP/IP接続(Host)のデフォルトの認証モードはmd5のようです。推測では、TCP/IPを介して接続するPgPoolがあります。

Tcp/ipのループバック接続の認証モードを変更するか、pgpoolでUNIXソケットを使用します(通常はHost設定を省略します)。

読んだ後も行き詰まっている場合:

19.1。pg_hba.confファイル および
第19章クライアント認証

postgreSQL 9.4のドキュメントで、他に答えが見つからない場合(Stack Overflowには関連する質問がたくさんあります)、私に知らせてください。機会があれば、段階的に説明します。

2
Craig Ringer

私はこの問題を数時間いじって、最終的に解決策を見つけました。

pgpool-II FAQ を読み、表を見てください:

Referenced Table

Pool_hba.confにデフォルトの信頼エントリを残すことはできません。信頼エントリをコメント化し、md5エントリを追加しました。

2
Andrew Q.

追加のチェックとして、pg_hba.confとpool_hba.confで一致するMD5メソッドを確認した後、

設定してください

 enable_pool_hba = on 

pgpool.conf

0
rian