0

Postgres 導入情報:

目的:

  1. 接続プールのサポートを有効にする
  2. Crunchydata の文書化されたプーリング手順を使用する

実行された手順 (成功) :

  • pgo create pgbouncer myclusterPgBouncer を追加するには
  • 基本的な接続テストはOKpsql -h hostname pgbouncer -U pgbouncer

問題: PgBouncer を使用せずにデータベースfoo_db_1が所有されfoouserているとします。データベースに正常に接続できますが、PgBouncer 経由では同じことが失敗します。

以下は、データベースの作成と許可のスニペットです (このユーザーのみがこのデータベースにアクセスできるように)

-- `foouser` is a non-super user
CREATE database foo_db_1 WITH OWNER=foouser ENCODING = 'UTF8' TABLESPACE = pg_default;
REVOKE connect ON DATABASE foo_db_1 FROM PUBLIC;
GRANT ALL PRIVILEGES ON DATABASE foo_db_1 to foouser;

同じユーザー (所有者) を使用して PgBouncer からアクセスしようとすると、エラー メッセージが表示されて失敗します

psql -h hostname-pgbouncer foo_db_1 -U foouser

psql: error: ERROR:  pgbouncer cannot connect to server
command terminated with exit code 2

注: 以下のコマンド (例) を使用してユーザー ベースのアクセス許可を削除すると、PgBouncer が正常に接続できるようになります。

GRANT ALL PRIVILEGES ON DATABASE foo_db_1 to PUBLIC;

pgbouncer によるアクセスを許可する許可を与える必要がある他のユーザーはいますか?

4

0 に答える 0