[Pgpool-general] [pgPool]

Tatsuo Ishii ishii at sraoss.co.jp
Thu Feb 24 13:47:23 UTC 2011


You seem to forgot to add:

wal_level = hot_standby

to your postgresql.conf.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> indeed,
> 
> What do you think about :
> 
> STATEMENT:  SELECT pgpool_recovery('basebackup.sh', 'localhost',
> '/usr/local/pgsql/standby')
> ERROR:  WAL level not sufficient for making an online backup
> HINT:  wal_level must be set to "archive" or "hot_standby" at server start.
> STATEMENT:  SELECT pg_start_backup('Streaming Replication', true)
> ERROR:  WAL level not sufficient for making an online backup
> HINT:  wal_level must be set to "archive" or "hot_standby" at server start.
> mkdir: cannot create directory `/usr/local/pgsql/standby/pg_xlog': File
> exists
> rm: cannot remove `/usr/local/pgsql/standby/recovery.done': No such file or
> directory
> ERROR:  WAL level not sufficient for making an online backup
> HINT:  wal_level must be set to "archive" or "hot_standby" at server start.
> STATEMENT:  SELECT pg_stop_backup()
> ERROR:  WAL level not sufficient for making an online backup
> HINT:  wal_level must be set to "archive" or "hot_standby" at server start.
> ERROR:  pgpool_recovery failel
> 
> 
> 
> On Thu, Feb 24, 2011 at 2:06 PM, Tatsuo Ishii <ishii at sraoss.co.jp> wrote:
> 
>> > It seems, that I missed the part of installing postrgresql for php .
>> >
>> > But when I click now on Recovery for the standby server I got :
>> >
>> > Error Code e1012
>> > pcp_recovery_node command error occurred.
>>
>> To analyze the problem, I recommend to look into:
>>
>> - Pgpool log
>> - PostgreSQL log
>>
>> Can you show me?
>> --
>> Tatsuo Ishii
>> SRA OSS, Inc. Japan
>> English: http://www.sraoss.co.jp/index_en.php
>> Japanese: http://www.sraoss.co.jp
>>
>> > On Wed, Feb 23, 2011 at 4:49 PM, Micka <mickamusset at gmail.com> wrote:
>> >
>> >> Well,
>> >>
>> >>
>> >> It seems that :
>> >>
>> >> http://172.17.100.12/pgpoolAdmin-3.0.2/nodeStatus.php
>> >>
>> >> return a 500 internal server error.
>> >>
>> >> And I think the error is here :
>> >> for ($i = 0; $i < $nodeCount; $i++) {
>> >>         echo "for $i <br>";
>> >>         if ($node_alive == false) {
>> >>           echo "node alive <br>";
>> >>                 if (($isReplicationMode || $isMasterSlaveMode) &&
>> >> NodeActive($i))
>> >>                         array_push($nodeInfo[$i], 'return');
>> >>                 else
>> >>                         array_push($nodeInfo[$i], 'none');
>> >>         } else if( $isParallelMode ) {
>> >>         array_push($nodeInfo[$i], 'none');
>> >>     } else {
>> >>         echo "dead node ".$nodeInfo[$i][2]."<br>";
>> >>         switch($nodeInfo[$i][2]) {
>> >>                 case 1:
>> >>                 case 2:
>> >>                         if($isReplicationMode || $isMasterSlaveMode) {
>> >>                                 array_push($nodeInfo[$i], 'disconnect');
>> >>                         } else {
>> >>                                 array_push($nodeInfo[$i], 'none');
>> >>                         }
>> >>                         echo "success 2<br>";
>> >>                         break;
>> >>                 case 3:
>> >>                         if($isReplicationMode || $isMasterSlaveMode) {
>> >>                                 if(NodeActive($i)) {
>> >>                                         array_push($nodeInfo[$i],
>> >> 'return');
>> >>                                 } else {
>> >>                     array_push($nodeInfo[$i], 'recovery');
>> >>                 }
>> >>                         } else {
>> >>                                 array_push($nodeInfo[$i], 'none');
>> >>                         }
>> >>                         break;
>> >>         }
>> >>     }
>> >>         echo print_r($nodeInfo)."<br>";
>> >>         $nodeInfo[$i][5] = NodeStandby($i);
>> >> }
>> >> echo "test_final";
>> >> print_r($nodeInfo);
>> >>
>> >> It prints me that :
>> >>
>> >> for 0
>> >> dead node 2
>> >> success 2
>> >> Array ( [0] => Array ( [0] => [1] => 5432 [2] => 2 [3] => 0.500 [4] =>
>> >> disconnect ) [1] => Array ( [0] => [1] => 5433 [2] => 3 [3] => 0.500 ) )
>> 1
>> >>
>> >> It seems that the function NodeStandby do something wrong, because the
>> for
>> >> loop didn't increment $i at all.
>> >> Otherwise It will print "for 1"
>> >>
>> >> What do you think ?
>> >>
>> >>
>> >> On Wed, Feb 23, 2011 at 3:52 PM, Micka <mickamusset at gmail.com> wrote:
>> >>
>> >>> Yes it seems,
>> >>>
>> >>> Just by curiousity, when you start stop start stop pgpool, where pgpool
>> >>> store the information about the current database it uses ?
>> >>>
>> >>> about pgadmin, I got :
>> >>>
>> >>> http://img546.imageshack.us/i/pgpool.png/
>> >>>
>> >>> instead of :
>> >>>
>> >>>
>> >>>
>> >>>
>> http://pgpool.projects.postgresql.org/contrib_docs/simple_sr_setting/operation_images/02.png
>> >>>
>> >>> I tried :
>> >>>
>> >>> postgres at PTI2:~$ pcp_node_count 10 localhost 9898 postgres1
>> pgpoolAdmin
>> >>> 2
>> >>>
>> >>> It works
>> >>>
>> >>> as well as :
>> >>>
>> >>> postgres at PTI2:~$ pcp_node_info 10 localhost 9898 postgres1 pgpoolAdmin
>> 1
>> >>>  5433 3 0.500000
>> >>>
>> >>> and I'm sure that I've done a :
>> >>>
>> >>> chmod 755 /usr/local/bin/pgpool
>> >>> chmod 755 /usr/local/bin/pcp_*
>> >>>
>> >>>
>> >>> see :
>> >>>
>> >>>
>> >>> mickael at PTI2:/usr/local/bin$ ls -l
>> >>> total 2436
>> >>> -rwxr-xr-x 1 root root   19159 2011-02-22 09:08 pcp_attach_node
>> >>> -rwxr-xr-x 1 root root   19426 2011-02-22 09:08 pcp_detach_node
>> >>> -rwxr-xr-x 1 root root   19207 2011-02-22 09:08 pcp_node_count
>> >>> -rwxr-xr-x 1 root root   19967 2011-02-22 09:08 pcp_node_info
>> >>> -rwxr-xr-x 1 root root   19556 2011-02-22 09:08 pcp_proc_count
>> >>> -rwxr-xr-x 1 root root   20575 2011-02-22 09:08 pcp_proc_info
>> >>> -rwxr-xr-x 1 root root   19171 2011-02-22 09:08 pcp_recovery_node
>> >>> -rwxr-xr-x 1 root root   19124 2011-02-22 09:08 pcp_stop_pgpool
>> >>> -rwxr-xr-x 1 root root   20968 2011-02-22 09:08 pcp_systemdb_info
>> >>> -rwxr-xr-x 1 root root  131901 2011-02-22 09:08 pg_md5
>> >>> -rwxr-xr-x 1 root root 2164698 2011-02-22 09:08 pgpool
>> >>>
>> >>>
>> >>>
>> >>> So why I've that :
>> >>>
>> >>> http://img546.imageshack.us/i/pgpool.png/ ???
>> >>>
>> >>>
>> >>>
>> >>> On Wed, Feb 23, 2011 at 3:18 PM, Tatsuo Ishii <ishii at sraoss.co.jp>
>> wrote:
>> >>>
>> >>>> > No, because I didn't start it yet,
>> >>>>
>> >>>> Oh, ok. then it's an expected behavior.
>> >>>> --
>> >>>> Tatsuo Ishii
>> >>>> SRA OSS, Inc. Japan
>> >>>> English: http://www.sraoss.co.jp/index_en.php
>> >>>> Japanese: http://www.sraoss.co.jp
>> >>>>
>> >>>> > I'm following your tutorial :
>> >>>> >
>> >>>> >
>> >>>>
>> http://pgpool.projects.postgresql.org/contrib_docs/simple_sr_setting/index.html
>> >>>> >
>> >>>> > I'm at this step :
>> >>>> >
>> >>>> > Starting pgpool-IIand :
>> >>>> >
>> >>>>
>> http://pgpool.projects.postgresql.org/contrib_docs/simple_sr_setting/operation_images/02.png
>> >>>> >
>> >>>> > at this step the standby database is down, it's only later that I've
>> to
>> >>>> > start it :
>> >>>> >
>> >>>> > Starting standby server
>> >>>> >
>> >>>> >
>> >>>> >
>> >>>> >
>> >>>> >
>> >>>> > On Wed, Feb 23, 2011 at 3:11 PM, Tatsuo Ishii <ishii at sraoss.co.jp>
>> >>>> wrote:
>> >>>> >
>> >>>> >> Can you connect to 5433 PostgreSQL by using psql?
>> >>>> >>
>> >>>> >> psql -p 5433 -l
>> >>>> >> --
>> >>>> >> Tatsuo Ishii
>> >>>> >> SRA OSS, Inc. Japan
>> >>>> >> English: http://www.sraoss.co.jp/index_en.php
>> >>>> >> Japanese: http://www.sraoss.co.jp
>> >>>> >>
>> >>>> >> > Thanks it seems that it was the problem, but it didn't go far
>> after
>> >>>> that
>> >>>> >> ^^
>> >>>> >> >
>> >>>> >> > see :
>> >>>> >> >
>> >>>> >> > 2011-02-23 14:59:53 LOG:   pid 936: pgpool-II successfully
>> started.
>> >>>> >> version
>> >>>> >> > 3.1.0-alpha1 (umiyameboshi)
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 968: I am 968
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: I am 970
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 964: I am 964
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: pool_ssl: SSL requested but
>> SSL
>> >>>> >> support
>> >>>> >> > is not available
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 967: I am 967
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: pool_ssl: SSL requested but
>> SSL
>> >>>> >> support
>> >>>> >> > is not available
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: s_do_auth: auth kind: 0
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: s_do_auth: parameter status
>> data
>> >>>> >> > received
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: s_do_auth: auth kind: 0
>> >>>> >> > tus data received
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: s_do_auth: parameter status
>> data
>> >>>> >> > received
>> >>>> >> >
>> >>>> >> >
>> >>>> >> > and :
>> >>>> >> >
>> >>>> >> >
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: s_do_auth: parameter status
>> data
>> >>>> >> > received
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: s_do_auth: parameter status
>> data
>> >>>> >> > received
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: s_do_auth: parameter status
>> data
>> >>>> >> > received
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: s_do_auth: parameter status
>> data
>> >>>> >> > received
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: s_do_auth: parameter status
>> data
>> >>>> >> > received
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: s_do_auth: backend key data
>> >>>> received
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: s_do_auth: transaction state:
>> I
>> >>>> >> > 2011-02-23 14:59:53 ERROR: pid 970:
>> >>>> connect_unix_domain_socket_by_port:
>> >>>> >> > connect() failed: No such file or directory
>> >>>> >> > 2011-02-23 14:59:53 ERROR: pid 970:
>> make_persistent_db_connection:
>> >>>> >> > connection to (5433) failed
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: do_query: kind: T
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: num_fileds: 1
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: do_query: kind: D
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: do_query: kind: C
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 970: do_query: kind: Z
>> >>>> >> > *2011-02-23 14:59:53 ERROR: pid 970: check_replication_time_lag:
>> DB
>> >>>> node
>> >>>> >> is
>> >>>> >> > valid but no persistent connection*
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: do_query: kind: T
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: num_fileds: 1
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: do_query: kind: D
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: do_query: kind: C
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: do_query: kind: Z
>> >>>> >> > 2011-02-23 14:59:53 LOG:   pid 936: find_primary_node: primary
>> node
>> >>>> id is
>> >>>> >> 0
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: starting health checking
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: health_check: 0 th DB node
>> >>>> status: 1
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: health_check: 1 th DB node
>> >>>> status: 1
>> >>>> >> > 2011-02-23 14:59:53 ERROR: pid 936:
>> >>>> connect_unix_domain_socket_by_port:
>> >>>> >> > connect() failed: No such file or directory
>> >>>> >> > 2011-02-23 14:59:53 ERROR: pid 936: health check failed. 1 th
>> host
>> >>>>  at
>> >>>> >> port
>> >>>> >> > 5433 is down
>> >>>> >> > 2011-02-23 14:59:53 LOG:   pid 936: set 1 th backend down status
>> >>>> >> > *2011-02-23 14:59:53 DEBUG: pid 936: failover_handler called*
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: failover_handler: starting to
>> >>>> select
>> >>>> >> new
>> >>>> >> > master node
>> >>>> >> > 2011-02-23 14:59:53 LOG:   pid 936: starting degeneration.
>> shutdown
>> >>>> host
>> >>>> >> > (5433)
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: failover_handler: kill 937
>> >>>> >> > 2011-02-23 14:59:53 DEBUG: pid 936: failover_handler: kill 938
>> >>>> >> >
>> >>>> >> > I don't understand ? It seems that because my database is lagging
>> ?
>> >>>> >> pgpool
>> >>>> >> > decided to do a failover ....
>> >>>> >> >
>> >>>> >> > but my database  and pgpool are on the same server ....
>> >>>> >> >
>> >>>> >> >
>> >>>> >> >
>> >>>> >> >
>> >>>> >> >
>> >>>> >> > On Wed, Feb 23, 2011 at 2:55 PM, Tatsuo Ishii <
>> ishii at sraoss.co.jp>
>> >>>> >> wrote:
>> >>>> >> >
>> >>>> >> >> > Ubuntu 10.04 server,
>> >>>> >> >> >
>> >>>> >> >> > Sorry,
>> >>>> >> >>
>> >>>> >> >> If my memory serves, Ubuntu has weired policy about socket
>> >>>> directory
>> >>>> >> >> as Debian:
>> >>>> >> >>
>> >>>> >> >> > # Unix domain socket path for the backend. Debian package
>> >>>> defaults to
>> >>>> >> >> > /var/run/postgresql!
>> >>>> >> >> > backend_socket_dir = '/tmp'
>> >>>> >> >>
>> >>>> >> >> Changing backend_socket_dir to /var/run/postgresql might help.
>> >>>> >> >> --
>> >>>> >> >> Tatsuo Ishii
>> >>>> >> >> SRA OSS, Inc. Japan
>> >>>> >> >> English: http://www.sraoss.co.jp/index_en.php
>> >>>> >> >> Japanese: http://www.sraoss.co.jp
>> >>>> >> >>
>> >>>> >> >> > On Wed, Feb 23, 2011 at 2:04 PM, Tatsuo Ishii <
>> >>>> ishii at sraoss.co.jp>
>> >>>> >> >> wrote:
>> >>>> >> >> >
>> >>>> >> >> >> >> What is your platform pgpool-II is running on?
>> >>>> >> >> >>
>> >>>> >> >> >> So what is your platform?
>> >>>> >> >> >> --
>> >>>> >> >> >> Tatsuo Ishii
>> >>>> >> >> >> SRA OSS, Inc. Japan
>> >>>> >> >> >> English: http://www.sraoss.co.jp/index_en.php
>> >>>> >> >> >> Japanese: http://www.sraoss.co.jp
>> >>>> >> >> >>
>> >>>> >> >> >> > thx :
>> >>>> >> >> >> >
>> >>>> >> >> >> > mickael at PTI2:~$ sudo su - postgres
>> >>>> >> >> >> > postgres at PTI2:~$ /usr/lib/postgresql/9.0/bin/pg_ctl -D
>> >>>> >> >> >> /usr/local/pgsql/data
>> >>>> >> >> >> > -l logpostgres start
>> >>>> >> >> >> > server starting
>> >>>> >> >> >> > postgres at PTI2:~$ psql -p 5432 -l
>> >>>> >> >> >> >                                   List of databases
>> >>>> >> >> >> >    Name    |  Owner   | Encoding |  Collation  |    Ctype
>>  |
>> >>>> >> >> Access
>> >>>> >> >> >> > privileges
>> >>>> >> >> >> >
>> >>>> >> >> >>
>> >>>> >> >>
>> >>>> >>
>> >>>>
>> -----------+----------+----------+-------------+-------------+-----------------------
>> >>>> >> >> >> >  postgres  | postgres | UTF8     | en_US.UTF-8 |
>> en_US.UTF-8
>> >>>>  |
>> >>>> >> >> >> >  template0 | postgres | UTF8     | en_US.UTF-8 |
>> en_US.UTF-8 |
>> >>>> >> >> >> > =c/postgres          +
>> >>>> >> >> >> >                 |              |               |
>> >>>> >> >> >> > |                      | postgres=CTc/postgres
>> >>>> >> >> >> >  template1 | postgres | UTF8     | en_US.UTF-8 |
>> en_US.UTF-8 |
>> >>>> >> >> >> > =c/postgres          +
>> >>>> >> >> >> >                 |               |              |
>> >>>> >>   |
>> >>>> >> >> >> >                | postgres=CTc/postgres
>> >>>> >> >> >> > (3 rows)
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> > postgres at PTI2:~$ exit
>> >>>> >> >> >> > logout
>> >>>> >> >> >> > mickael at PTI2:~$ sudo mkdir /var/run/pgpool
>> >>>> >> >> >> > mickael at PTI2:~$ sudo chown www-data /var/run/pgpool/
>> >>>> >> >> >> > mickael at PTI2:~$ sudo chmod 777 -R /var/run/pgpool/
>> >>>>  Otherwise
>> >>>> >> i
>> >>>> >> >> got
>> >>>> >> >> >> :
>> >>>> >> >> >> > could not open pid file as /var/run/pgpool/pgpool.pid.
>> reason:
>> >>>> >> >> Permission
>> >>>> >> >> >> > denied
>> >>>> >> >> >> > mickael at PTI2:~$ sudo su - postgres
>> >>>> >> >> >> > postgres at PTI2:~$ pgpool -d -n > ~/pgpool.log 2>&1 &
>> >>>> >> >> >> >
>> >>>> >> >> >> > after a nano pgpool.log i got :
>> >>>> >> >> >> >
>> >>>> >> >> >> > ....
>> >>>> >> >> >> > 2011-02-23 11:04:34 ERROR: pid 1327: pool_init_pool_passwd:
>> >>>> >> couldn't
>> >>>> >> >> open
>> >>>> >> >> >> > /usr/local/etc/pool_passwd. reason: Permission denied
>> >>>> >> >> >> > 2011-02-23 11:04:34 LOG:   pid 1327: Backend status file
>> >>>> >> >> >> > /var/log/pgpool/pgpool_status does not exist
>> >>>> >> >> >> > .....
>> >>>> >> >> >> > 2011-02-23 11:04:34 LOG:   pid 1327: pgpool-II successfully
>> >>>> >> started.
>> >>>> >> >> >> version
>> >>>> >> >> >> > 3.1.0-alpha1 (umiyameboshi)
>> >>>> >> >> >> > .....
>> >>>> >> >> >> > 2011-02-23 11:04:34 DEBUG: pid 1352: I am 1352
>> >>>> >> >> >> > 2011-02-23 11:04:34 DEBUG: pid 1357: I am 1357
>> >>>> >> >> >> > 2011-02-23 11:04:34 ERROR: pid 1327:
>> >>>> >> >> connect_unix_domain_socket_by_port:
>> >>>> >> >> >> > connect() failed: No such file or directory
>> >>>> >> >> >> > 2011-02-23 11:04:34 ERROR: pid 1327:
>> >>>> make_persistent_db_connection:
>> >>>> >> >> >> > connection to (5432) failed
>> >>>> >> >> >> > 2011-02-23 11:04:34 ERROR: pid 1327: find_primary_node:
>> >>>> >> >> >> > make_persistent_connetcion failed
>> >>>> >> >> >> > 2011-02-23 11:04:34 LOG:   pid 1327: pgpool-II successfully
>> >>>> >> started.
>> >>>> >> >> >> version
>> >>>> >> >> >> > 3.1.0-alpha1 (umiyameboshi)
>> >>>> >> >> >> > ....
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> > I don't understand because if trying again :
>> >>>> >> >> >> > psql -p 5432 -l
>> >>>> >> >> >> >
>> >>>> >> >> >> > it works !
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> > And my pgpool.config :
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> > # pgpool-II configuration file sample
>> >>>> >> >> >> > # $Header:
>> >>>> >> >> >> >
>> >>>> >> >>
>> >>>>
>> /cvsroot/pgpool/pgpool-web/contrib_docs/simple_sr_setting/pgpool.conf,v
>> >>>> >> >> >> 1.1
>> >>>> >> >> >> > 2010/11/04 04:39:57 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
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Port number for pgpool communication manager
>> >>>> >> >> >> > pcp_port = 9898
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Unix domain socket path.  (The Debian package defaults to
>> >>>> >> >> >> > # /var/run/postgresql.)
>> >>>> >> >> >> > socket_dir = '/tmp'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Unix domain socket path for pgpool communication manager.
>> >>>> >> >> >> > # (Debian package defaults to /var/run/postgresql)
>> >>>> >> >> >> > pcp_socket_dir = '/tmp'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Unix domain socket path for the backend. Debian package
>> >>>> defaults
>> >>>> >> to
>> >>>> >> >> >> > /var/run/postgresql!
>> >>>> >> >> >> > backend_socket_dir = '/tmp'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # pgpool communication manager timeout. 0 means no timeout,
>> >>>> but
>> >>>> >> >> strongly
>> >>>> >> >> >> not
>> >>>> >> >> >> > recommended!
>> >>>> >> >> >> > pcp_timeout = 10
>> >>>> >> >> >> >
>> >>>> >> >> >> > # number of pre-forked child process
>> >>>> >> >> >> > num_init_children = 32
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Number of connection pools allowed for a child process
>> >>>> >> >> >> > max_pool = 4
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If idle for this many seconds, child exits.  0 means no
>> >>>> timeout.
>> >>>> >> >> >> > child_life_time = 0
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If idle for this many seconds, connection to PostgreSQL
>> >>>> closes.
>> >>>> >> >> >> > # 0 means no timeout.
>> >>>> >> >> >> > connection_life_time = 0
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If child_max_connections connections were received, child
>> >>>> exits.
>> >>>> >> >> >> > # 0 means no exit.
>> >>>> >> >> >> > child_max_connections = 0
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If client_idle_limit is n (n > 0), the client is forced
>> to
>> >>>> be
>> >>>> >> >> >> > # disconnected whenever after n seconds idle (even inside
>> an
>> >>>> >> explicit
>> >>>> >> >> >> > # transactions!)
>> >>>> >> >> >> > # 0 means no disconnect.
>> >>>> >> >> >> > client_idle_limit = 0
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Maximum time in seconds to complete client
>> authentication.
>> >>>> >> >> >> > # 0 means no timeout.
>> >>>> >> >> >> > authentication_timeout = 60
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Logging directory
>> >>>> >> >> >> > logdir = '/var/log/pgpool'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # pid file name
>> >>>> >> >> >> > pid_file_name = '/var/run/pgpool/pgpool.pid'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Replication mode
>> >>>> >> >> >> > replication_mode = false
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Load balancing mode, i.e., all SELECTs are load balanced.
>> >>>> >> >> >> > # This is ignored if replication_mode is false.
>> >>>> >> >> >> > load_balance_mode = true
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If there's a disagreement with the packet kind sent from
>> >>>> backend,
>> >>>> >> >> >> > # then degenrate the node which is most likely "minority".
>>  If
>> >>>> >> false,
>> >>>> >> >> >> > # just force to exit this session.
>> >>>> >> >> >> > replication_stop_on_mismatch = false
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If there's a disagreement with the number of affected
>> tuples
>> >>>> in
>> >>>> >> >> >> > # UPDATE/DELETE, then degenrate the node which is most
>> likely
>> >>>> >> >> >> > # "minority".
>> >>>> >> >> >> > # If false, just abort the transaction to keep the
>> >>>> consistency.
>> >>>> >> >> >> > failover_if_affected_tuples_mismatch = true
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, replicate SELECT statement when load balancing
>> is
>> >>>> >> disabled.
>> >>>> >> >> >> > # If false, it is only sent to the master node.
>> >>>> >> >> >> > replicate_select = false
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Semicolon separated list of queries to be issued at the
>> end
>> >>>> of a
>> >>>> >> >> >> session
>> >>>> >> >> >> > reset_query_list = 'ABORT;DISCARD ALL'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # white_function_list is a comma separated list of function
>> >>>> names
>> >>>> >> >> >> > # those do not write to database. Any functions not listed
>> >>>> here
>> >>>> >> >> >> > # are regarded to write to database and SELECTs including
>> such
>> >>>> >> >> >> > # writer-functions will be executed on master(primary) in
>> >>>> >> master/slave
>> >>>> >> >> >> > # mode, or executed on all DB nodes in replication mode.
>> >>>> >> >> >> > #
>> >>>> >> >> >> > # black_function_list is a comma separated list of function
>> >>>> names
>> >>>> >> >> >> > # those write to database. Any functions not listed here
>> >>>> >> >> >> > # are regarded not to write to database and SELECTs
>> including
>> >>>> such
>> >>>> >> >> >> > # read-only-functions will be executed on any DB nodes.
>> >>>> >> >> >> > #
>> >>>> >> >> >> > # You cannot make full both white_function_list and
>> >>>> >> >> >> > # black_function_list at the same time. If you specify
>> >>>> something in
>> >>>> >> >> >> > # one of them, you should make empty other.
>> >>>> >> >> >> > #
>> >>>> >> >> >> > # Pre 3.0 pgpool-II recognizes nextval and setval in hard
>> >>>> coded
>> >>>> >> >> >> > # way. Following setting will do the same as the previous
>> >>>> version.
>> >>>> >> >> >> > # white_function_list = ''
>> >>>> >> >> >> > # black_function_list = 'nextval,setval'
>> >>>> >> >> >> > white_function_list = ''
>> >>>> >> >> >> > #black_function_list = ''
>> >>>> >> >> >> > black_function_list = 'nextval,setval,foo'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true print timestamp on each log line.
>> >>>> >> >> >> > print_timestamp = true
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, operate in master/slave mode.
>> >>>> >> >> >> > master_slave_mode = true
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Master/slave sub mode. either 'slony' or 'stream'.
>> Default
>> >>>> is
>> >>>> >> >> 'slony'.
>> >>>> >> >> >> > # master_slave_sub_mode = 'stream'
>> >>>> >> >> >> > master_slave_sub_mode = 'stream'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If the standby server delays more than delay_threshold,
>> >>>> >> >> >> > # any query goes to the primary only. The unit is in bytes.
>> >>>> >> >> >> > # 0 disables the check. Default is 0.
>> >>>> >> >> >> > # Note that health_check_period required to be greater than
>> 0
>> >>>> >> >> >> > # to enable the functionality.
>> >>>> >> >> >> > delay_threshold = 100
>> >>>> >> >> >> >
>> >>>> >> >> >> > # 'always' logs the standby delay whenever health check
>> runs.
>> >>>> >> >> >> > # 'if_over_threshold' logs only if the delay exceeds
>> >>>> >> delay_threshold.
>> >>>> >> >> >> > # 'none' disables the delay log.
>> >>>> >> >> >> > log_standby_delay = 'if_over_threshold'
>> >>>> >> >> >> > #log_standby_delay = 'always'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, cache connection pool.
>> >>>> >> >> >> > connection_cache = true
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Health check timeout.  0 means no timeout.
>> >>>> >> >> >> > health_check_timeout = 10
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Health check period.  0 means no health check.
>> >>>> >> >> >> > health_check_period = 10
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Health check user
>> >>>> >> >> >> > health_check_user = 'www-data'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Execute command by failover.
>> >>>> >> >> >> > # special values:  %d = node id
>> >>>> >> >> >> > #                  %h = host name
>> >>>> >> >> >> > #                  %p = port number
>> >>>> >> >> >> > #                  %D = database cluster path
>> >>>> >> >> >> > #                  %m = new master node id
>> >>>> >> >> >> > #                  %M = old master node id
>> >>>> >> >> >> > #                  %H = new master node host name
>> >>>> >> >> >> > #                  %P = old primary node id
>> >>>> >> >> >> > #                  %% = '%' character
>> >>>> >> >> >> > #
>> >>>> >> >> >> > failover_command = '/usr/local/etc/failover.sh %d "%h" %p
>> %D
>> >>>> %m %M
>> >>>> >> >> "%H"
>> >>>> >> >> >> %P'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Execute command by failback.
>> >>>> >> >> >> > # special values:  %d = node id
>> >>>> >> >> >> >
>> >>>> >> >> >> > #                  %h = host name
>> >>>> >> >> >> > #                  %p = port number
>> >>>> >> >> >> > #                  %D = database cluster path
>> >>>> >> >> >> > #                  %m = new master node id
>> >>>> >> >> >> > #                  %M = old master node id
>> >>>> >> >> >> > #                  %% = '%' character
>> >>>> >> >> >> > #
>> >>>> >> >> >> > failback_command = '/bin/rm -f /tmp/trigger_file1'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, trigger fail over when writing to the backend
>> >>>> >> communication
>> >>>> >> >> >> > # socket fails. This is the same behavior of pgpool-II
>> 2.2.x
>> >>>> or
>> >>>> >> >> >> > # earlier. If set to false, pgpool will report an error and
>> >>>> >> disconnect
>> >>>> >> >> >> > # the session.
>> >>>> >> >> >> > fail_over_on_backend_error = false
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, automatically lock table with INSERT statements
>> to
>> >>>> keep
>> >>>> >> >> SERIAL
>> >>>> >> >> >> > # data consistency.  An /*INSERT LOCK*/ comment has the
>> same
>> >>>> >> effect.
>> >>>> >> >>  A
>> >>>> >> >> >> > # /NO INSERT LOCK*/ comment disables the effect.
>> >>>> >> >> >> > insert_lock = true
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, ignore leading white spaces of each query while
>> >>>> pgpool
>> >>>> >> >> judges
>> >>>> >> >> >> > # whether the query is a SELECT so that it can be load
>> >>>> balanced.
>> >>>> >>  This
>> >>>> >> >> >> > # is useful for certain APIs such as DBI/DBD which is known
>> to
>> >>>> >> adding
>> >>>> >> >> an
>> >>>> >> >> >> > # extra leading white space.
>> >>>> >> >> >> > ignore_leading_white_space = false
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, print all statements to the log.  Like the
>> >>>> log_statement
>> >>>> >> >> >> option
>> >>>> >> >> >> > # to PostgreSQL, this allows for observing queries without
>> >>>> engaging
>> >>>> >> in
>> >>>> >> >> >> full
>> >>>> >> >> >> > # debugging.
>> >>>> >> >> >> > log_statement = true
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, print all statements to the log. Similar to
>> >>>> >> log_statement
>> >>>> >> >> >> except
>> >>>> >> >> >> > # that prints DB node id and backend process id info.
>> >>>> >> >> >> > log_per_node_statement = true
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, incoming connections will be printed to the log.
>> >>>> >> >> >> > log_connections = true
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, hostname will be shown in ps status. Also shown
>> in
>> >>>> >> >> >> > # connection log if log_connections = true.
>> >>>> >> >> >> > # Be warned that this feature will add overhead to look up
>> >>>> >> hostname.
>> >>>> >> >> >> > log_hostname = false
>> >>>> >> >> >> >
>> >>>> >> >> >> > # if non 0, run in parallel query mode
>> >>>> >> >> >> > parallel_mode = false
>> >>>> >> >> >> >
>> >>>> >> >> >> > # if non 0, use query cache
>> >>>> >> >> >> > 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
>> >>>> >> >> >> > # here are examples
>> >>>> >> >> >> > #backend_hostname0 = 'localhost'
>> >>>> >> >> >> > #backend_port0 = 5432
>> >>>> >> >> >> > #backend_weight0 = 1
>> >>>> >> >> >> > #backend_data_directory0 = '/data'
>> >>>> >> >> >> > #backend_hostname1 = 'localhost'
>> >>>> >> >> >> > #backend_port1 = 5433
>> >>>> >> >> >> > #backend_weight1 = 1
>> >>>> >> >> >> > #backend_data_directory1 = '/data1'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # - HBA -
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, use pool_hba.conf for client authentication. In
>> >>>> >> pgpool-II
>> >>>> >> >> >> > # 1.1, the default value is false. The default value will
>> be
>> >>>> true
>> >>>> >> in
>> >>>> >> >> >> > # 1.2.
>> >>>> >> >> >> > enable_pool_hba = false
>> >>>> >> >> >> >
>> >>>> >> >> >> > # md5 authentication file name. '' disables md5
>> >>>> authentication.
>> >>>> >> >> >> > # To enable md5 auth, enable_pool_hba to true.
>> >>>> >> >> >> > # Default is 'pool_passwd'.
>> >>>> >> >> >> > pool_passwd = 'pool_passwd'
>> >>>> >> >> >> > # - online recovery -
>> >>>> >> >> >> > # online recovery user
>> >>>> >> >> >> > recovery_user = 'postgres'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # online recovery password
>> >>>> >> >> >> > recovery_password = 'pgpoolAdmin'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # execute a command in first stage.
>> >>>> >> >> >> > recovery_1st_stage_command = 'basebackup.sh'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # execute a command in second stage.
>> >>>> >> >> >> > recovery_2nd_stage_command = ''
>> >>>> >> >> >> >
>> >>>> >> >> >> > # maximum time in seconds to wait for remote start-up. 0
>> means
>> >>>> no
>> >>>> >> wait
>> >>>> >> >> >> > recovery_timeout = 60
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If client_idle_limit_in_recovery is n (n > 0), the client
>> is
>> >>>> >> forced
>> >>>> >> >> >> > # to be disconnected whenever after n seconds idle (even
>> >>>> inside an
>> >>>> >> >> >> > # explicit transactions!)  0 means no disconnect. This
>> >>>> parameter
>> >>>> >> only
>> >>>> >> >> >> > # takes effect in recovery 2nd stage.
>> >>>> >> >> >> > client_idle_limit_in_recovery = 0
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Specify table name to lock. This is used when rewriting
>> >>>> lo_creat
>> >>>> >> >> >> > # command in replication mode. The table must exist and has
>> >>>> >> writable
>> >>>> >> >> >> > # permission to public. If the table name is '', no
>> rewriting
>> >>>> >> occurs.
>> >>>> >> >> >> > lobj_lock_table = 'pgpool_lobj_lock'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # If true, enable SSL support for both frontend and backend
>> >>>> >> >> connections.
>> >>>> >> >> >> > # note that you must also set ssl_key and ssl_cert for SSL
>> to
>> >>>> work
>> >>>> >> in
>> >>>> >> >> >> > # the frontend connections.
>> >>>> >> >> >> > ssl = false
>> >>>> >> >> >> > # path to the SSL private key file
>> >>>> >> >> >> > ssl_key = '/usr/local/etc/server.key'
>> >>>> >> >> >> > # path to the SSL public certificate file
>> >>>> >> >> >> > ssl_cert = '/usr/local/etc/server.crt'
>> >>>> >> >> >> >
>> >>>> >> >> >> > # Debug message verbosity level. 0: no message, 1 <= : more
>> >>>> verbose
>> >>>> >> >> >> > debug_level = 0
>> >>>> >> >> >> >
>> >>>> >> >> >> > replication_timeout = 5000
>> >>>> >> >> >> > log_statement = false
>> >>>> >> >> >> > ssl_ca_cert = ''
>> >>>> >> >> >> > ssl_ca_cert_dir = ''
>> >>>> >> >> >> > backend_hostname0 = ''
>> >>>> >> >> >> > backend_port0 = 5432
>> >>>> >> >> >> > backend_weight0 = 1
>> >>>> >> >> >> > backend_data_directory0 = '/usr/local/pgsql/data'
>> >>>> >> >> >> > backend_hostname1 = ''
>> >>>> >> >> >> > backend_port1 = 5433
>> >>>> >> >> >> > backend_weight1 = 1
>> >>>> >> >> >> > backend_data_directory1 = '/usr/local/pgsql/standby'
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> > thx,
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> > On Wed, Feb 23, 2011 at 10:30 AM, Tatsuo Ishii <
>> >>>> ishii at sraoss.co.jp
>> >>>> >> >
>> >>>> >> >> >> wrote:
>> >>>> >> >> >> >
>> >>>> >> >> >> >> The error message says pgpool-II could not find valid
>> socket
>> >>>> for
>> >>>> >> >> 5432.
>> >>>> >> >> >> >> Can you connect to PostgreSQL using psql on the host where
>> >>>> >> pgpool-II
>> >>>> >> >> >> >> is installed?
>> >>>> >> >> >> >>
>> >>>> >> >> >> >> psql -p 5432 -l
>> >>>> >> >> >> >>
>> >>>> >> >> >> >> What is your platform pgpool-II is running on?
>> >>>> >> >> >> >> --
>> >>>> >> >> >> >> Tatsuo Ishii
>> >>>> >> >> >> >> SRA OSS, Inc. Japan
>> >>>> >> >> >> >> English: http://www.sraoss.co.jp/index_en.php
>> >>>> >> >> >> >> Japanese: http://www.sraoss.co.jp
>> >>>> >> >> >> >>
>> >>>> >> >> >> >> > Hi,
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >> > I'm trying to understand pgPool-II on my local server.
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >> > But I encounter this bug now :
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >> > 2011-02-23 09:52:03 LOG:   pid 1101: pgpool-II
>> successfully
>> >>>> >> >> started.
>> >>>> >> >> >> >> version
>> >>>> >> >> >> >> > 3.1.0-alpha1 (umiyameboshi)
>> >>>> >> >> >> >> > 2011-02-23 09:52:03 DEBUG: pid 1132: I am 1132
>> >>>> >> >> >> >> > 2011-02-23 09:52:03 ERROR: pid 1101:
>> >>>> >> >> >> connect_unix_domain_socket_by_port:
>> >>>> >> >> >> >> > connect() failed: No such file or directory
>> >>>> >> >> >> >> > 2011-02-23 09:52:03 ERROR: pid 1101:
>> >>>> >> make_persistent_db_connection:
>> >>>> >> >> >> >> > connection to (5432) failed
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >> > I don't know what is wrong ?
>> >>>> >> >> >> >> > Just before that, I've done :
>> >>>> >> >> >> >> > /usr/lib/postgresql/9.0/bin/pg_ctl -D
>> /usr/local/pgsql/data
>> >>>> -l
>> >>>> >> >> >> >> logpostgres
>> >>>> >> >> >> >> > start
>> >>>> >> >> >> >> > and on the log my database server works well.
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >> > I didn't find anything on the database server log about
>> a
>> >>>> >> >> connection
>> >>>> >> >> >> from
>> >>>> >> >> >> >> > pgpool.
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >> > I'm following this tutorial
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >>
>> >>>> >> >> >>
>> >>>> >> >>
>> >>>> >>
>> >>>>
>> http://pgpool.projects.postgresql.org/contrib_docs/simple_sr_setting/index.html
>> >>>> >> >> >> >> > but I've disabled the ssl  ( ssl = false )
>> >>>> >> >> >> >> > and I've started manually pgpool to show the log.
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >> > Do you I've an idea of what is wrong ?
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >> >
>> >>>> >> >> >> >> > THx,
>> >>>> >> >> >> >>
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> > --
>> >>>> >> >> >> > Michael Musset,
>> >>>> >> >> >> > Tel: 06 26 06 29 89
>> >>>> >> >> >>
>> >>>> >> >> >
>> >>>> >> >> >
>> >>>> >> >> >
>> >>>> >> >> > --
>> >>>> >> >> > Michael Musset,
>> >>>> >> >> > Tel: 06 26 06 29 89
>> >>>> >> >>
>> >>>> >> >
>> >>>> >> >
>> >>>> >> >
>> >>>> >> > --
>> >>>> >> > Michael Musset,
>> >>>> >> > Tel: 06 26 06 29 89
>> >>>> >>
>> >>>> >
>> >>>> >
>> >>>> >
>> >>>> > --
>> >>>> > Michael Musset,
>> >>>> > Tel: 06 26 06 29 89
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Michael Musset,
>> >>> Tel: 06 26 06 29 89
>> >>>
>> >>>
>> >>
>> >>
>> >> --
>> >> Michael Musset,
>> >> Tel: 06 26 06 29 89
>> >>
>> >>
>> >
>> >
>> > --
>> > Michael Musset,
>> > Tel: 06 26 06 29 89
>>
> 
> 
> 
> -- 
> Michael Musset,
> Tel: 06 26 06 29 89


More information about the Pgpool-general mailing list