Re: pgpool with PostgreSQL 7.4 - Mailing list pgsql-general

From Tatsuo Ishii
Subject Re: pgpool with PostgreSQL 7.4
Date
Msg-id 20050414.230700.48535782.t-ishii@sra.co.jp
Whole thread Raw
In response to pgpool with PostgreSQL 7.4  (Kevin MacClay <kmmacclay@yahoo.com>)
Responses Re: pgpool with PostgreSQL 7.4  (Kevin MacClay <kmmacclay@yahoo.com>)
List pgsql-general
Can you show me debug messages by starting pgpool with -d option?
--
Tatsuo Ishii

> Hello,
>
> I'm having trouble getting pgpool to work in master/slave mode.  I'm planning on using something like Slony-I for
replication,and use pgpool only to load balance the queries across the master and slave, as well as provide failover if
themaster goes down. 
>
> I configured the settings so replication_mode = false, load_balance_mode = true, and master_slave_mode = true.  I
alsoset secondary_backend_host_name and secondary_backend_port to refer to the slave.  Here's what happens when I try
toconnect to the database to show the status: 
>
> -bash-2.05b$ psql -p 9999 -c 'show pool_status' template1
> psql: server closed the connection unexpectedly
>         This probably means the server terminated abnormally
>         before or while processing the request.
> The strange thing is that if I change the configuration so master_slave_mode = false, it seems that the failover
worksbut load balancing does not.  When master/slave is disabled, I'm able to show the status and run queries against
themaster.  If I use "pgpool -s s switch" to perform a manual switchover, I am then able to run queries against the
slave. But as soon as I try running pgpool with master_slave_mode = true, it stops working and when I try to connect I
getthe error above ("server closed the connection unexpectedly"). 
>
> Am I doing something wrong?  Below are my configuration settings when I receive the error.  I'm using the latest
stablebuild of pgpool (2.5.1).  The master is PG 7.4.7, the slave is PG 7.4. 
>
> [root@vl-pe6650-004 etc]# more pgpool.conf
> #
> # pgpool configuration file sample
> # $Header: /cvsroot/pgpool/pgpool/pgpool.conf.sample,v 1.1.1.1 2005/02/14 14:52:21 t-ishii Exp $
> # host name or IP address to listen on: '*' for all, '' for no TCP/IP connections
> listen_addresses = '*'
> # port number for pgpool
> port = 9999
> # Unix domain socket path. Debian package default to /var/run/postgresql!
> socket_dir = '/tmp'
> # host name where PostgreSQL server is running on. '' means localhost using UNIX
> # domain socket
> backend_host_name = ''
> # port number PostgreSQL server is running on.
> backend_port = 5432
> # Unix domain socket path for the backend. Debian package default to /var/run/postgresql!
> backend_socket_dir = '/tmp'
> # host name where secondary PostgreSQL server is running on. '' means localhost using UNIX
> # domain socket
> secondary_backend_host_name = '192.168.0.153'
> # port number secondary PostgreSQL server is running on.
> # 0 means no secondrary PostgreSQL
> secondary_backend_port = 5432
> # number of pre-forked child process
> num_init_children = 32
> # numer of connection pool allowed for a child process.
> max_pool = 4
> # if idle for this seconds, child exits. 0 means no timeout.
> child_life_time = 300
> # if idle for this seconds, connection to PostgreSQL closes. 0 means
> # no timeout
> connection_life_time = 0
> # logging directory
> logdir = '/tmp'
> # replication mode
> replication_mode = false
> # set this to true if you want to avoid deadlock situation when
> # replication enabled.
> # there will be noticable performance degration, however.
> # a work around is set this to false and insert /*STRICT*/ comment
> # at the beginning of the SQL command.
> replication_strict = true
> # when replication_strict is set to false, there will be a chance for
> # deadlocks. set this to non 0 (in milli seconds) to detect this
> # situation and resolve the deadlock aborting current session.
> replication_timeout = 5000
> # load balancing mode. i.e. all SELECT except in a transaction block
> # are load balanced. This is ignored if replication_mode is false.
> load_balance_mode = true
> # load balance weight for master and secondary. actual weight is
> # calculated by weight_master:weight_secondary. For example both
> #
> # weight_master = 10 and weight_secondary = 5
> # weight_master = 4 and weight_secondary = 2
> #
> # are regarded as master has double the weight comparing with secondary.
> # master and secondary have same weight in the default.
> weight_master = 0.5
> weight_secondary = 0.5
> # if there's a data mismatch between master and secondary
> # start degenration to stop replication mode
> replication_stop_on_mismatch = false
> # semicolon separated list of quries to be issued at the end of session
> reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
> # if true print time stamp to each log line
> print_timestamp = true
> # if true, operate in master/slave mode
> master_slave_mode = true
> # if true, cache connection pool
> connection_cache = true
> # health check timeout. 0 means no timeout;
> health_check_timeout = 20
> # health check period. 0 means no health check
> health_check_period = 0
> # health check user
> health_check_user = 'nobody'
>
> Thanks for your help,
> Kevin
>
>
>
>
> ---------------------------------
> Do you Yahoo!?
>  Yahoo! Mail - Helps protect you from nasty viruses.

pgsql-general by date:

Previous
From: Kevin MacClay
Date:
Subject: pgpool with PostgreSQL 7.4
Next
From: Kevin MacClay
Date:
Subject: Re: pgpool with PostgreSQL 7.4