Postgresql pgbouncer windows 10-客户端登录超时(服务器关闭)错误

Postgresql pgbouncer windows 10-客户端登录超时(服务器关闭)错误,postgresql,pgbouncer,Postgresql,Pgbouncer,我正在尝试在本地计算机上设置pgbouncer。我有标准(安装后未更改任何内容)配置文件,其中包含以下条目: postgres=host=127.0.0.1端口=5432 收听地址=* 监听端口=6432 auth_type=trust//也使用md5和普通测试 我的postgresql(9.4版)正在5432端口上运行。当我执行 psql-U postgres-p5432-d postgres 我可以成功连接。现在我正在尝试连接到pgbouncer psql-U postgres-p6432-

我正在尝试在本地计算机上设置pgbouncer。我有标准(安装后未更改任何内容)配置文件,其中包含以下条目:

postgres=host=127.0.0.1端口=5432
收听地址=*
监听端口=6432
auth_type=trust//也使用md5和普通测试

我的postgresql(9.4版)正在5432端口上运行。当我执行

psql-U postgres-p5432-d postgres

我可以成功连接。现在我正在尝试连接到pgbouncer

psql-U postgres-p6432-d postgres

在提供密码后,pgbouncer无法连接(它会挂起60秒),然后超时并出错

psql:错误:客户端登录超时(服务器关闭)

Pgbouncer日志:


2017-05-05 00:17:27.084 14696日志文件描述符限制:-1(H:-1),最大客户端连接:100,最大可能fds:130
2017-05-05 00:17:27.104 14696登录监听::/6432
2017-05-05 00:17:27.105 14696在0.0.0.0:6432上监听日志
2017-05-05 00:17:27.106 14696日志进程启动:pgbouncer 1.7.2,libevent 2.0.21-stable(win32),ADN:evdns2,tls:OpenSSL 1.0.2k 2017年1月26日
2017-05-05 00:18:27.104 14696日志统计:0请求/秒,输入0请求/秒,输出0请求/秒,查询0请求/秒
2017-05-05 00:18:51.85214696日志C-009B8FE0:postgres/postgres@[::1]:55878登录尝试:db=postgres user=postgres tls=no
2017-05-05 00:18:51.854 14696警告
2017-05-05 00:18:51.854 14696日志S-009EF248:博士后/postgres@127.0.0.1:5432关闭原因:连接失败(年龄=0)
2017-05-05 00:19:06.929 14696警告
2017-05-05 00:19:06.929 14696日志S-009EF248:博士后/postgres@127.0.0.1:5432关闭原因:连接失败(年龄=0)
2017-05-05 00:19:21.949 14696警告
2017-05-05 00:19:21.950 14696日志S-009EF248:博士后/postgres@127.0.0.1:5432关闭原因:连接失败(年龄=0)
2017-05-05 00:19:27.105 14696日志统计:0请求/秒,输入0请求/秒,输出0请求/秒,查询0请求/秒
2017-05-05 00:19:36.969 14696警告
2017-05-05 00:19:36.970 14696日志S-009EF248:博士后/postgres@127.0.0.1:5432关闭原因:连接失败(年龄=0)
2017-05-05 00:19:51.990 14696日志C-009B8FE0:postgres/postgres@[::1]:55878关闭原因:客户端登录超时(服务器关闭)(年龄=60岁)
2017-05-05 00:19:51.991 14696警告C-009B8FE0:postgres/postgres@[::1]:55878池程序错误:客户端登录超时(服务器关闭)
2017-05-05 00:20:27.105 14696日志统计:0请求/秒,输入0请求/秒,输出0请求/秒,查询0请求/秒

hba.conf

托管所有127.0.0.1/32 md5
主机所有::1/128 md5

postgresql.conf

侦听地址='*'

我做错了什么

编辑1:

为了让这一切顺利进行,我尝试了:

  • 连接到其他db版本:9.5和9.6
  • 因为我在日志中看到使用了各种端口,所以我在防火墙中打开了整个pgbouncer应用程序,在此之前我只打开了6432端口
  • 我想pgbouncer可能在连接本地主机时遇到问题,所以我尝试连接到远程服务器
  • 甚至禁用了防病毒软件
  • 以上这些都不起作用。始终显示相同的日志(端口5434为9.5版本):

    有人能解释为什么它试图连接端口61687吗?在这个端口上,它得到了意外的eof

    以下是整个pgbouncer.ini(未注释掉的行):


    您确定您的postgresql server正在本地主机上接收连接吗?请尝试psql-H127.0.0.1…并确认您可以连接。是的,它正在工作。我可以连接
    psql-U postgres-h 127.0.0.1-p 5432-d postgres
    OK,现在可以连接pgbouncer set
    auth_type=md5
    并检查您的
    auth_文件是否包含正确的用户名/密码对。然后再次尝试通过pgbouncer连接。首先使用错误的密码,然后使用正确的密码。查看记录的内容。然后,假设您可以连接到pgbouncer本身,检查
    [数据库]
    部分中的设置,了解您在那里使用的用户/密码。在提供错误的密码后,我获得了
    身份验证失败
    ,并且密码正确后
    客户端登录时间
    。我没有在数据库设置中设置任何密码。但即使设置了密码,仍然没有帮助。我想pgbouncer可能在连接过程中使用了不同的主机(比如主机名),所以我在没有帮助的情况下编辑了hba.conf
    host all 0.0.0/0 md5。
    
    2017-05-05 22:26:01.899 8008 LOG C-010C8FF0: postgres/postgres@[::1]:61687 login attempt: db=postgres user=postgres tls=no
    2017-05-05 22:26:01.899 8008 LOG C-010C8FF0: postgres/postgres@[::1]:61687 closing because: client unexpected eof (age=0)
    2017-05-05 22:26:04.753 8008 LOG C-010C8FF0: postgres/postgres@[::1]:61690 login attempt: db=postgres user=postgres tls=no
    2017-05-05 22:26:04.753 8008 WARNING 
    2017-05-05 22:26:04.753 8008 LOG S-010FF258: postgres/postgres@127.0.0.1:5434 closing because: connect failed (age=0)
    2017-05-05 22:26:19.803 8008 WARNING 
    2017-05-05 22:26:19.803 8008 LOG S-010FF258: postgres/postgres@127.0.0.1:5434 closing because: connect failed (age=0)
    2017-05-05 22:26:35.086 8008 WARNING 
    2017-05-05 22:26:35.086 8008 LOG S-010FF258: postgres/postgres@127.0.0.1:5434 closing because: connect failed (age=0)
    2017-05-05 22:26:41.581 8008 LOG Stats: 0 req/s, in 0 b/s, out 0 b/s,query 0 us
    2017-05-05 22:26:50.359 8008 WARNING 
    2017-05-05 22:26:50.359 8008 LOG S-010FF258: postgres/postgres@127.0.0.1:5434 closing because: connect failed (age=0)
    2017-05-05 22:27:04.961 8008 LOG C-010C8FF0: postgres/postgres@[::1]:61690 closing because: client_login_timeout (server down) (age=60)
    2017-05-05 22:27:04.961 8008 WARNING C-010C8FF0: postgres/postgres@[::1]:61690 Pooler Error: client_login_timeout (server down)
    
    [databases]
    postgres = host=127.0.0.1 port=5434 dbname=postgres
    [pgbouncer]
    logfile = C:\Program Files\PostgreSQL\PgBouncer\log\pgbouncer.log
    pidfile = C:\Program Files\PostgreSQL\PgBouncer\log\pgbouncer.pid
    listen_addr = *
    listen_port = 6432
    auth_type = md5
    auth_file = C:\Program Files\PostgreSQL\PgBouncer\etc\userlist.txt
    admin_users = postgres
    stats_users = postgres
    pool_mode = session
    max_client_conn = 100
    default_pool_size = 20