[Pgpool-general] [pgPool]

Micka mickamusset at gmail.com
Wed Feb 23 10:17:36 UTC 2011


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


More information about the Pgpool-general mailing list