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 <[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
