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 <[email protected]> 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 <[email protected]> > 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@PTI2:~$ sudo su - postgres > >> > postgres@PTI2:~$ /usr/lib/postgresql/9.0/bin/pg_ctl -D > >> /usr/local/pgsql/data > >> > -l logpostgres start > >> > server starting > >> > postgres@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@PTI2:~$ exit > >> > logout > >> > mickael@PTI2:~$ sudo mkdir /var/run/pgpool > >> > mickael@PTI2:~$ sudo chown www-data /var/run/pgpool/ > >> > mickael@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@PTI2:~$ sudo su - postgres > >> > postgres@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 <[email protected]> > >> 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
_______________________________________________ Pgpool-general mailing list [email protected] http://pgfoundry.org/mailman/listinfo/pgpool-general
