访问 redshift 的 pgbouncer 实例

Access pgbouncer instance for redshift

我在 redshift 集群上使用 pgbouncer。当我在 Postgres 上使用 pgbouncer 时,我可以使用 psql -h localhost -p xxxx pgbouncer.

登录 pgbouncer 实例

但是我如何登录到 redshift 的 pgbouncer 设置? pgbouncer 运行 在 ec2 实例上,而 reshift 由 aws 管理。

我尝试使用本地主机(其中 pgbouncer 运行)和 redshift 端点访问 psql。关于如何访问为 redshift 设置的 pgbouncer 实例的任何想法?

[ec2-user@xxxx ~]$ psql -h localhost -p 5439 -U admin pgbouncer
psql: ERROR:  not allowed
ERROR:  not allowed
[ec2-user@xxxx pgbouncer]$ psql -h xxxxxxxx.us-east-2.redshift.amazonaws.com -p 5439 -U admin pgbouncer
Password for user admin:
psql: FATAL:  database "pgbouncer" does not exist

您需要在 redshift 上创建 pgbouncer 数据库。

在创建redshift集群的时候,也创建了一个单一的数据库(指定),这个你看AWS控制台就可以找到。

然后您可以登录到该数据库,如果您愿意,可以使用 PSQL。

psql -h xxxxxxxx.us-east-2.redshift.amazonaws.com -p 5439 -U admin your-redshift-db

从那里您可以创建 pgbouncer 数据库。

create database pgbouncer;

我建议你使用 pgbouncer-rr,它有更多的红移特性。 https://github.com/awslabs/pgbouncer-rr-patch

我可以使用

登录
$ psql -h pgbouncerhost -p 5439 -U master pgbouncer