[Pgpool-general] [pgPool]

Micka mickamusset at gmail.com
Wed Feb 23 14:06:11 UTC 2011


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://pgfoundry.org/pipermail/pgpool-general/attachments/20110223/9ffc3291/attachment-0001.html>


More information about the Pgpool-general mailing list