레일 앱 등이있는 2 개 이상의 웹 서버에서 pgpool을 실행하려고합니다. 아이디어는 slony 또는 스트리밍을 통한 복제와 pgpool을 통한 페일 오버를 수행하는 것입니다. replca와 웹 서버 연결이 풀링 된 쿼리를 사용하는 것도 좋지만 master_slave 및 failover 작업을 얻는 것이 중요합니다.master_slave 모드에서 pgpool을 백엔드에 대해 인증하지 못했습니다.
우분투 10.04 LTS의 apt 패키지에서 pgpool 버전 3.4.1 (lainihi)을 설치했습니다. db01은 마스터이며 slony를 통해 db02에 복제됩니다. 내 pgpool.conf는 다음과 같습니다 :
# configure frontend
listen_addresses = 'localhost'
port = 5432
# configure the backends
backend_host_name = 'db01'
backend_port = 5432
secondary_backend_host_name = 'db02'
secondary_backend_port = 5432
# uncomment this and pgpool fails to connect
#master_slave_mode = true
#master_slave_sub_mode = 'slony'
지금 "원시 모드"에서 작동하며 master_slave를 많이 사용하게 될지 궁금합니다. 는 IT가 pgpool처럼 보인다
2011-01-13 02:03:17 DEBUG: pid 24144: I am 24144 accept fd 6
2011-01-13 02:03:17 DEBUG: pid 24144: Protocol Major: 1234 Minor: 5679 database: user:
2011-01-13 02:03:17 DEBUG: pid 24144: SSLRequest: sent N; retry startup
2011-01-13 02:03:17 DEBUG: pid 24144: Protocol Major: 3 Minor: 0 database: XXX user: XXX
2011-01-13 02:03:17 DEBUG: pid 24147: I am 24147 accept fd 6
2011-01-13 02:03:17 DEBUG: pid 24147: Protocol Major: 3 Minor: 0 database: XXX user: XXX
2011-01-13 02:03:17 DEBUG: pid 24144: pool_read_message_length: lenghth: 12
2011-01-13 02:03:17 DEBUG: pid 24144: trying md5 authentication
2011-01-13 02:03:17 DEBUG: pid 24144: master: 1 salt: 8bcce867
2011-01-13 02:03:17 DEBUG: pid 24147: pool_read_message_length: lenghth: 12
2011-01-13 02:03:17 DEBUG: pid 24147: trying md5 authentication
2011-01-13 02:03:17 DEBUG: pid 24147: master: 1 salt: bb5f7a63
2011-01-13 02:03:17 DEBUG: pid 24144: master: 0 salt: 5abb8e55
2011-01-13 02:03:17 DEBUG: pid 24144: do_md5: backend does not return R while processing MD5 authentication E
2011-01-13 02:03:17 ERROR: pid 24144: pool_do_auth: backend does not return authenticaton ok
2011-01-13 02:03:17 DEBUG: pid 24147: master: 0 salt: 4c1e5953
2011-01-13 02:03:17 DEBUG: pid 24147: do_md5: backend does not return R while processing MD5 authentication E
2011-01-13 02:03:17 ERROR: pid 24147: pool_do_auth: backend does not return authenticaton ok
백엔드 인증 할 수 없습니다 다음 내가 보는 pgpool 로그에
# psql -h localhost -U XXX -W
Password for user XXX:
psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
하지만, I : 나는 master_slave의 주석 어쨌든 경우 = 사실 나는 연결할 때 folling를 얻을 수 psql을 사용하여 각 클라이언트의 각 백엔드 서버에 연결할 수 있으며 pgpool은 "원시 모드"로 작동합니다.
pgpool을 구성하는 데 도움을 주시면 매우 감사하겠습니다. 훌륭한 솔루션 인 것처럼 보이지만 설정하는 것은 예상보다 어려웠습니다.
TIA,