ftr*_*ian 6 postgresql pgpool postgresql-9.1
我正在使用pgpool-II 3.2.1中的两个PostgreSQL 9.1配置为主热备用.
当尝试从PGAdmin进行身份验证时,我得到:
Error connecting to the server: FATAL: password authentication failed for user "postgres"
Run Code Online (Sandbox Code Playgroud)
在pgpool日志中,我看到:
2012-11-01 14:40:13 LOG: pid 3023: connection received: host=89.xxx.xxx.xxx port=57150
2012-11-01 14:40:13 DEBUG: pid 3023: Protocol Major: 1234 Minor: 5679 database: user:
2012-11-01 14:40:13 DEBUG: pid 3023: SSLRequest from client
2012-11-01 14:40:13 DEBUG: pid 3023: pool_ssl: SSL requested but SSL support is not available
2012-11-01 14:40:13 DEBUG: pid 3023: read_startup_packet: application_name: pgAdmin III - Browser
2012-11-01 14:40:13 DEBUG: pid 3023: Protocol Major: 3 Minor: 0 database: postgres user: postgres
2012-11-01 14:40:13 DEBUG: pid 3023: new_connection: connecting 0 backend
2012-11-01 14:40:13 DEBUG: pid 3023: new_connection: connecting 1 backend
2012-11-01 14:40:13 DEBUG: pid 3023: pool_ssl: SSL requested but SSL support is not available
2012-11-01 14:40:13 DEBUG: pid 3023: pool_ssl: SSL requested but SSL support is not available
2012-11-01 14:40:13 DEBUG: pid 3023: pool_read_message_length: slot: 0 length: 12
2012-11-01 14:40:13 DEBUG: pid 3023: pool_read_message_length: slot: 1 length: 12
2012-11-01 14:40:13 DEBUG: pid 3023: pool_do_auth: auth kind:5
2012-11-01 14:40:13 DEBUG: pid 3023: trying md5 authentication
2012-11-01 14:40:13 DEBUG: pid 3023: password does not match: frontend:md5286c9c7c4ac8a365170e0f448c99ad48 pgpool:md5cf0e9615c13af6243edfd11d2461d12e
2012-11-01 14:40:13 DEBUG: pid 3023: do_md5failed in slot 0
Run Code Online (Sandbox Code Playgroud)
真正奇怪的是,日志中的md5哈希值会随着每个请求而变化,所以与我在/ usr/local/etc/pool_passwd和/usr/local/etc/pcp.conf中设置的哈希值相比,它实际上没有意义.
你能帮我看一下配置问题吗?
发现问题了!
pg_md5
与pgpool一起发货生成了一个不正确的md5(当我使用它时).在我使用PostgreSQL DB中的md5替换配置后,它工作了.您可以通过运行以下SQL查询来获取DB md5:
select passwd from pg_shadow where usename = 'username';
Run Code Online (Sandbox Code Playgroud)
小智 5
这取决于您如何使用“ pg_md5” ...如果您不包括用户名,那么它将生成错误的MD5,因为毫无疑问,盐中使用了MD5:
root:/usr/local/etc# pg_md5 password1
7c6a180b36896a0a8c02787eeafb0e4c
Run Code Online (Sandbox Code Playgroud)
但是,如果使用正确的语法,则会自动将正确的条目放入pool_password文件中:
root:/usr/local/etc# pg_md5 -m -u greg password1
root@1:/usr/local/etc# grep greg: pool_passwd
greg:md53c5b45b54c89f8af9074a2ad371e2c12
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15328 次 |
最近记录: |