[Pgpool-general] pgpool behing cursors?

Tatsuo Ishii ishii at sraoss.co.jp
Mon Nov 3 09:25:13 UTC 2008


Can you provide me a reproducable example? I could not reproduce your
problem here.
--
Tatsuo Ishii
SRA OSS, Inc. Japan

> Hello,
> 
> I've been trying to make pgpool-II working with master_slave_mode = true. It
> works if I use psql with no cursor.
> However, with the application I'm trying to run this on, I get the
> following:
>     server closed the connection unexpectedly
>     This probably means the server terminated abnormally
>     before or while processing the request.
> 
> Whenever I try to perform any query with a cursor. It seems to be calling
> read_kind_from_backend and I get this at the end of a query:
> ....
> 2008-11-03 03:48:24 DEBUG: pid 31882: read_kind_from_backend: read kind from
> 1 th backend Z NUM_BACKENDS: 2
> 2008-11-03 03:48:24 DEBUG: pid 31882: pool_process_query: kind from backend:
> Z
> 2008-11-03 03:48:24 DEBUG: pid 31882: pool_read_message_length: slot: 0
> length: 5
> 2008-11-03 03:48:24 DEBUG: pid 31882: pool_read_message_length: slot: 1
> length: 5
> 2008-11-03 03:48:24 DEBUG: pid 31882: ReadyForQuery: message length: 5
> --> 2008-11-03 03:48:24 ERROR: pid 31882: pool_read_kind: kind does not
> match between master(84) slot[1] (73) <--
> 
> Could you help me figure out what's wrong? My /etc/pgpool.conf is attached
> below.
> 
> What I'm trying to do is this:
> 
>              +------------+
> App -->   | PGPool |   --- Read query--> | localhost |
>              +------------+    +-Write query -->| master pg server |
> 
> The servers trust all connections, and I can connect/query using psql fine.
> It's only when I use my application that uses cursors that it seems to be
> failing.
> 
> Thanks for your help in the matter!
> 
> Cheers,
> Mike
> 
> /etc/pgpool.conf
> ========================================
> # pgpool-II configuration file
> 
> listen_addresses = 'localhost'
> port = 5433
> 
> pcp_port = 9898
> socket_dir = '/var/run/postgresql'
> pcp_socket_dir = '/var/run/postgresql'
> pcp_timeout = 10
> num_init_children = 32
> max_pool = 4
> child_life_time = 300
> connection_life_time = 0
> child_max_connections = 0
> 
> authentication_timeout = 60
> logdir = '/var/run/postgresql'
> 
> replication_mode = false
> replication_strict = false
> replication_timeout = 5000
> load_balance_mode = true
> replication_stop_on_mismatch = false
> replicate_select = false
> 
> # Semicolon separated list of queries to be issued at the end of a session
> reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
> print_timestamp = true
> master_slave_mode = true
> 
> connection_cache = true
> health_check_timeout = 20
> health_check_period = 0
> health_check_user = 'nobody'
> 
> insert_lock = false
> 
> ignore_leading_white_space = false
> log_statement = false
> log_connections = false
> log_hostname = false
> parallel_mode = false
> enable_query_cache = false
> 
> #set pgpool2 hostname
> pgpool2_hostname = ''
> 
> # system DB info
> system_db_hostname = 'localhost'
> system_db_port = 5432
> system_db_dbname = 'pgpool'
> system_db_schema = 'pgpool_catalog'
> system_db_user = 'pgpool'
> system_db_password = ''
> 
> # backend_hostname, backend_port, backend_weight
> backend_hostname0 = 'xxxxxx'
> backend_port0 = 5432
> backend_weight0 = 0
> backend_hostname1 = 'localhost'
> backend_port1 = 5432
> backend_weight1 = 1
> 
> enable_pool_hba = true


More information about the Pgpool-general mailing list