如何使用 unix 套接字配置 postgresql / pgbouncer?

how to configure postgresql / pgbouncer using unix sockets?

无法使用默认的 unix 套接字使最简单的 pgbouncer / postgresql 组合工作。

foo 身份登录,有一个现有数据库(由 foo 创建)bar。这些工作正常:

$ psql bar
$ psql -U foo bar
$ psql -U foo --password bar

/etc/pgbouncer/userlist.txt中:

"foo" "foo"

/etc/pgbouncer/pgbouncer.ini中:

[databases]
mydb =

[pgbouncer]
unix_socket_dir = /var/run/postgresql
auth_type = trust
auth_file = /etc/pgbouncer/userlist.txt

当我尝试使用 psql -p 6432 mydbpsql -p 6432 mydb --password 登录时,输入密码后,我得到

psql: ERROR:  Peer authentication failed for user "foo"

使用密码 anr 登录 psql 运行 "show hba_file;" vi pg_hba.conf 文件 - 将 "local" 部分更改为信任用户 foo...

就在 运行ning pgbouncer 运行 export PGPASSWORD='whatever_password_is',

之前

使用保存的密码创建一个 .pgpass 文件...