首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PgBouncer和auth to PostgreSQL

PgBouncer和auth to PostgreSQL
EN

Stack Overflow用户
提问于 2017-04-12 13:57:56
回答 1查看 16K关注 0票数 12

保镖版本1.7.2

psql (9.5.6)

我尝试在auth_hba_file中使用PgBouncer (/var/lib/pgsql/9.5/data/pg_hba.conf)。

Config pgbouncer.ini

代码语言:javascript
运行
复制
postgres = host=localhost port=5432 dbname=postgres user=postgres
test = host=localhost port=5432 dbname=test user=test
[pgbouncer]
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid
listen_addr = *
listen_port = 6432
auth_type = hba
auth_hba_file = /var/lib/pgsql/9.5/data/pg_hba.conf
admin_users = postgres
stats_users = stats, postgres
pool_mode = session
server_reset_query = DISCARD ALL
max_client_conn = 100
default_pool_size = 20

cat pg_hba.conf grep -v "#“\ grep -v "^$"

代码语言:javascript
运行
复制
local   all             all                              trust
host    all             all             127.0.0.1/32     trust
host    all             all             ::1/128          trust
host    test            test            10.255.4.0/24    md5

psql -h 10.233.4.16 -p 5432 -U test

代码语言:javascript
运行
复制
Password for user test:
psql (9.5.6)
Type "help" for help.

test=> \q

psql -h 10.233.4.16 -p 6432 -U test

代码语言:javascript
运行
复制
psql: ERROR:  No such user: test

/var/log/pgbouncer/pgbouncer.log 尾部-fn10

代码语言:javascript
运行
复制
LOG C-0x78f7e0: (nodb)/(nouser)@10.255.4.245:8963 closing because: No such user: test (age=0)
WARNING C-0x78f7e0: (nodb)/(nouser)@10.255.4.245:8963 Pooler Error: No such user: test
LOG C-0x78f7e0: (nodb)/(nouser)@10.255.4.245:8963 login failed: db=test user=test

但是我不能使用PgBouncer连接postgresql (使用pg_hba.conf )

有人能帮忙吗?希望您有使用auth_hba_file的示例。谢谢

我更改了配置:

root@dev-metrics2 2 pgbouncer# cat pgbouncer.ini \ grep -v ";“AC.26 grep -v "^$”有偿grep -v "#"“

代码语言:javascript
运行
复制
[databases]
postgres = host=localhost port=5432 dbname=postgres user=postgres
test = host=localhost port=5432 dbname=test auth_user=test
[pgbouncer]
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid
listen_addr = *
listen_port = 6432
auth_query = SELECT usename, passwd FROM pg_shadow WHERE usename=$1
admin_users = postgres
stats_users = stats, postgres
pool_mode = session
server_reset_query = DISCARD ALL
max_client_conn = 100
default_pool_size = 20

删除并创建用户和DB

代码语言:javascript
运行
复制
[local]:5432 postgres@postgres # DROP DATABASE test;
DROP DATABASE
[local]:5432 postgres@postgres # DROP USER test ;
DROP ROLE
[local]:5432 postgres@postgres # CREATE USER test with password 'test';
CREATE ROLE
[local]:5432 postgres@postgres # CREATE DATABASE test with owner test;
CREATE DATABASE

PGPASSWORD=test psql -h 10.233.4.16 -p 6432 -U test

代码语言:javascript
运行
复制
Password for user test:
psql: ERROR:  Auth failed

/var/log/pgbouncer/pgbouncer.log 尾部-fn1

代码语言:javascript
运行
复制
LOG Stats: 0 req/s, in 0 b/s, out 0 b/s,query 0 us
LOG C-0x17b57a0: test/test@10.255.4.245:3069 login attempt: db=test user=test tls=no
LOG C-0x17b57a0: test/test@10.255.4.245:3069 closing because: client unexpected eof (age=0)
LOG C-0x17b57a0: test/test@10.255.4.245:3070 login attempt: db=test user=test tls=no
LOG C-0x17b57a0: test/test@10.255.4.245:3070 closing because: Auth failed (age=0)
WARNING C-0x17b57a0: test/test@10.255.4.245:3070 Pooler Error: Auth failed

工作配置:

“ pgbouncer.ini pgbouncer.ini grep -v ";”AC.26 grep -v "^$“AC.26 grep -v "#"”

代码语言:javascript
运行
复制
[databases]
*= port=5432 auth_user=postgres
[pgbouncer]
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid
listen_addr = *
listen_port = 6432
auth_query = SELECT usename, passwd FROM pg_shadow WHERE usename=$1
admin_users = postgres
stats_users = stats, postgres
pool_mode = session
server_reset_query = DISCARD ALL
max_client_conn = 100
default_pool_size = 20
EN

回答 1

Stack Overflow用户

发布于 2017-12-05 21:26:47

试着放空间

代码语言:javascript
运行
复制
*= port=5432 auth_user=postgres  # old string
* = port=5432 auth_user=postgres # new string

为我工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43371676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档