[pgpool-general: 490] Error on insert using pgpool and 2 postgresql servers

Carman, Darren darren.carman at infoterra-global.com
Thu May 24 01:02:13 JST 2012


Hi,

 

I am getting an error when performing an insert using pgpool. I have 2
servers with latest postgresql 9.1/postgis 1.5, 2nd server uses a direct
copy of the data directory from the first server to ensure they are the
same (i have tried dump/restore as well).

 

Version of pgpool is 3.1.3 and was installed using default configure (so
no arguments). And is set in replication mode with load balancing on
(config at the end of email).

 

All servers are running RedHat AS 6.1.

 

Selects work fine and when only using 1 server node in the config so do
inserts. When using 2 server nodes I get an error inserting.

 

Can anyone tell me what I am doing wrong?

 

Thanks in advance for any help

 

Insert command - this insert adds an entry into the postgis
geometry_columns table for a column in a view that was created without
problem):

INSERT INTO geometry_columns
(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dim
ension,srid,type) VALUES ('', 'eadata', 'ws12887135485', 'geometry', 2,
27700, 'GEOMETRY');

 

Error on client:

ERROR:  kind mismatch among backends. Possible last query was: "INSERT
INTO geometry_columns
(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dim
ension,srid,type) VALUES ('', 'eadata', 'ws12887135485', 'geometry', 2,
27700, 'GEOMETRY');" kind

ERROR:  kind mismatch among backends. Possible last query was: "INSERT
INTO geometry_columns
(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dim
ension,srid,type) VALUES ('', 'eadata', 'ws12887135485', 'geometry', 2,
27700, 'GEOMETRY');" kind

The connection to the server was lost. Attempting reset: Succeeded.

 

Debug from pgpool log:

2012-05-23 16:19:12 DEBUG: pid 25171: ProcessFrontendResponse: kind from
frontend Q(51)

2012-05-23 16:19:12 DEBUG: pid 25171:
pool_unset_doing_extended_query_message: done

2012-05-23 16:19:12 DEBUG: pid 25171: statement2: INSERT INTO
geometry_columns
(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dim
ension,srid,type) VALUES ('', 'eadata', 'ws12887135485', 'geometry', 2,
27700, 'GEOMETRY');

2012-05-23 16:19:12 DEBUG: pid 25171: pool_set_query_in_progress: done

2012-05-23 16:19:12 DEBUG: pid 25171: do_command: Query: BEGIN

2012-05-23 16:19:12 DEBUG: pid 25171: wait_for_query_response: waiting
for backend 0 completing the query

2012-05-23 16:19:12 DEBUG: pid 25171: detect_error: kind: C

2012-05-23 16:19:12 DEBUG: pid 25171: do_command: kind: C

2012-05-23 16:19:12 DEBUG: pid 25171: do_command: kind: Z

2012-05-23 16:19:12 DEBUG: pid 25171: do_command: transaction state: T

2012-05-23 16:19:12 DEBUG: pid 25171: pool_unset_writing_transaction:
done

2012-05-23 16:19:12 DEBUG: pid 25171: do_command: Query: BEGIN

2012-05-23 16:19:12 DEBUG: pid 25171: wait_for_query_response: waiting
for backend 1 completing the query

2012-05-23 16:19:12 DEBUG: pid 25171: detect_error: kind: C

2012-05-23 16:19:12 DEBUG: pid 25171: do_command: kind: C

2012-05-23 16:19:12 DEBUG: pid 25171: do_command: kind: Z

2012-05-23 16:19:12 DEBUG: pid 25171: do_command: transaction state: T

2012-05-23 16:19:12 DEBUG: pid 25171: pool_unset_writing_transaction:
done

2012-05-23 16:19:12 DEBUG: pid 25171: get_insert_command_table_name:
extracted table name: "geometry_columns"

2012-05-23 16:19:12 DEBUG: pid 25171: do_query: kind: T

2012-05-23 16:19:12 DEBUG: pid 25171: num_fileds: 1

2012-05-23 16:19:12 DEBUG: pid 25171: do_query: kind: D

2012-05-23 16:19:12 DEBUG: pid 25171: do_query: kind: C

2012-05-23 16:19:12 DEBUG: pid 25171: do_query: kind: Z

2012-05-23 16:19:12 DEBUG: pid 25171: do_query: kind: E

2012-05-23 16:19:12 LOG:   pid 25171: do_query: error message from
backend function pgpool_regclass(unknown) does not exist

2012-05-23 16:19:12 DEBUG: pid 25171: do_query: kind: Z

2012-05-23 16:19:12 DEBUG: pid 25171: do_query: kind: E

2012-05-23 16:19:12 LOG:   pid 25171: do_query: error message from
backend current transaction is aborted, commands ignored until end of
transaction block

2012-05-23 16:19:12 DEBUG: pid 25171: do_query: kind: Z

2012-05-23 16:19:12 DEBUG: pid 25171: wait_for_query_response: waiting
for backend 0 completing the query

2012-05-23 16:19:12 LOG:   pid 25171: pool_send_and_wait: Error or
notice message from backend: : DB node id: 0 backend pid: 29984
statement: INSERT INTO geometry_columns
(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dim
ension,srid,type) VALUES ('', 'eadata', 'ws12887135485', 'geometry', 2,
27700, 'GEOMETRY'); message: current transaction is aborted, commands
ignored until end of transaction block

2012-05-23 16:19:12 DEBUG: pid 25171: wait_for_query_response: waiting
for backend 1 completing the query

2012-05-23 16:19:12 DEBUG: pid 25171: read_kind_from_backend: read kind
from 0 th backend E NUM_BACKENDS: 2

2012-05-23 16:19:12 DEBUG: pid 25171: read_kind_from_backend: read kind
from 1 th backend C NUM_BACKENDS: 2

2012-05-23 16:19:12 ERROR: pid 25171: read_kind_from_backend: 1 th kind
C does not match with master or majority connection kind E

2012-05-23 16:19:12 ERROR: pid 25171: kind mismatch among backends.
Possible last query was: "INSERT INTO geometry_columns
(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dim
ension,srid,type) VALUES ('', 'eadata', 'ws12887135485', 'geometry', 2,
27700, 'GEOMETRY');" kind details are: 0[E: current transaction is
aborted, commands ignored until end of transaction block] 1[C]

2012-05-23 16:19:12 LOG:   pid 25171: do_child: exits with status 1 due
to error

2012-05-23 16:19:12 DEBUG: pid 25148: reap_handler called

2012-05-23 16:19:12 DEBUG: pid 25148: reap_handler: call wait3

2012-05-23 16:19:12 DEBUG: pid 25148: child 25171 exits with status 256

2012-05-23 16:19:12 DEBUG: pid 25148: fork a new child pid 25188

2012-05-23 16:19:12 DEBUG: pid 25148: reap_handler: normally exited

2012-05-23 16:19:12 DEBUG: pid 25188: I am 25188

2012-05-23 16:19:12 DEBUG: pid 25188:
pool_initialize_private_backend_status: initialize backend status

2012-05-23 16:19:12 DEBUG: pid 25169: I am 25169 accept fd 6

2012-05-23 16:19:12 DEBUG: pid 25169: read_startup_packet:
application_name: psql

2012-05-23 16:19:12 DEBUG: pid 25169: Protocol Major: 3 Minor: 0
database: GenericBorisEA user: eadata

2012-05-23 16:19:12 DEBUG: pid 25169: new_connection: connecting 0
backend

2012-05-23 16:19:12 DEBUG: pid 25169: new_connection: connecting 1
backend

2012-05-23 16:19:12 DEBUG: pid 25169: pool_ssl: SSL requested but SSL
support is not available

2012-05-23 16:19:12 DEBUG: pid 25169: pool_ssl: SSL requested but SSL
support is not available

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length: slot: 0
length: 8

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length: slot: 1
length: 8

2012-05-23 16:19:12 DEBUG: pid 25169: pool_do_auth: auth kind:3

2012-05-23 16:19:12 DEBUG: pid 25169: trying clear text password
authentication

2012-05-23 16:19:12 DEBUG: pid 25169: trying clear text password
authentication

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 26

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 26

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name:
application_name value: psql

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name:
application_name value: psql

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 25

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 25

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name:
client_encoding value: UTF8

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name:
client_encoding value: UTF8

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 23

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 23

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name: DateStyle
value: ISO, MDY

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name: DateStyle
value: ISO, MDY

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 25

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 25

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name:
integer_datetimes value: on

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name:
integer_datetimes value: on

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 27

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 27

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name: IntervalStyle
value: postgres

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name: IntervalStyle
value: postgres

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 20

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 20

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name: is_superuser
value: on

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name: is_superuser
value: on

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 25

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 25

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name:
server_encoding value: UTF8

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name:
server_encoding value: UTF8

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 25

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 25

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name: server_version
value: 9.1.3

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name: server_version
value: 9.1.3

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 33

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 33

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name:
session_authorization value: eadata

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name:
session_authorization value: eadata

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 35

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 35

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name:
standard_conforming_strings value: on

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name:
standard_conforming_strings value: on

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 0 length: 16

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length2: master
slot: 1 length: 16

2012-05-23 16:19:12 DEBUG: pid 25169: 0 th backend: name: TimeZone
value: GB

2012-05-23 16:19:12 DEBUG: pid 25169: 1 th backend: name: TimeZone
value: GB

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length: slot: 0
length: 12

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length: slot: 1
length: 12

2012-05-23 16:19:12 DEBUG: pid 25169: pool_do_auth:
cp->info[i]:0x7f4aff451000 pid:29986

2012-05-23 16:19:12 DEBUG: pid 25169: pool_do_auth:
cp->info[i]:0x7f4aff451088 pid:25533

2012-05-23 16:19:12 DEBUG: pid 25169: pool_send_auth_ok: send pid 25533
to frontend

2012-05-23 16:19:12 DEBUG: pid 25169: select_load_balancing_node:
selected backend id is 0

2012-05-23 16:19:12 DEBUG: pid 25169: selected load balancing node: 0

2012-05-23 16:19:12 DEBUG: pid 25169: pool_unset_query_in_progress: done

2012-05-23 16:19:12 DEBUG: pid 25169: pool_unset_command_success: done

2012-05-23 16:19:12 DEBUG: pid 25169: pool_unset_writing_transaction:
done

2012-05-23 16:19:12 DEBUG: pid 25169: pool_unset_failed_transaction:
done

2012-05-23 16:19:12 DEBUG: pid 25169: pool_unset_transaction_isolation:
done

2012-05-23 16:19:12 DEBUG: pid 25169:
pool_unset_skip_reading_from_backends: done

2012-05-23 16:19:12 DEBUG: pid 25169: pool_unset_ignore_till_sync: done

2012-05-23 16:19:12 DEBUG: pid 25169: read_kind_from_backend: read kind
from 0 th backend Z NUM_BACKENDS: 2

2012-05-23 16:19:12 DEBUG: pid 25169: read_kind_from_backend: read kind
from 1 th backend Z NUM_BACKENDS: 2

2012-05-23 16:19:12 DEBUG: pid 25169: ProcessBackendResponse: kind from
backend: Z

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length: slot: 0
length: 5

2012-05-23 16:19:12 DEBUG: pid 25169: pool_read_message_length: slot: 1
length: 5

2012-05-23 16:19:12 DEBUG: pid 25169: ReadyForQuery: transaction state:I

2012-05-23 16:19:12 DEBUG: pid 25169: ReadyForQuery: transaction state:I

 

 

My pgpool.conf:

 

# ----------------------------

# pgPool-II configuration file

# ----------------------------

#

# This file consists of lines of the form:

#

#   name = value

#

# Whitespace may be used.  Comments are introduced with "#" anywhere on
a line.

# The complete list of parameter names and allowed values can be found
in the

# pgPool-II documentation.

#

# This file is read on server startup and when the server receives a
SIGHUP

# signal.  If you edit the file on a running system, you have to SIGHUP
the

# server for the changes to take effect, or use "pgpool reload".  Some

# parameters, which are marked below, require a server shutdown and
restart to

# take effect.

#

 

 

#-----------------------------------------------------------------------
-------

# CONNECTIONS

#-----------------------------------------------------------------------
-------

 

# - pgpool Connection Settings -

 

listen_addresses = '*'

                                   # Host name or IP address to listen
on:

                                   # '*' for all, '' for no TCP/IP
connections

                                   # (change requires restart)

port = 5433

                                   # Port number

                                   # (change requires restart)

socket_dir = '/tmp'

                                   # Unix domain socket path

                                   # The Debian package defaults to

                                   # /var/run/postgresql

                                   # (change requires restart)

 

 

# - pgpool Communication Manager Connection Settings -

 

pcp_port = 9898

                                   # Port number for pcp

                                   # (change requires restart)

pcp_socket_dir = '/tmp'

                                   # Unix domain socket path for pcp

                                   # The Debian package defaults to

                                   # /var/run/postgresql

                                   # (change requires restart)

 

# - Backend Connection Settings -

 

backend_hostname0 = 'mdb07'

                                   # Host name or IP address to connect
to for backend 0

backend_port0 = 5432

                                   # Port number for backend 0

backend_weight0 = 1

                                   # Weight for backend 0 (only in load
balancing mode)

backend_data_directory0 = '/usr/local/pgsql/data'

                                   # Data directory for backend 0

backend_flag0 = 'ALLOW_TO_FAILOVER'

                                   # Controls various backend behavior

                                   # ALLOW_TO_FAILOVER or
DISALLOW_TO_FAILOVER

backend_hostname1 = 'mdb08'

backend_port1 = 5432

backend_weight1 = 1

backend_data_directory1 = '/usr/local/pgsql/data'

backend_flag1 = 'ALLOW_TO_FAILOVER'

 

# - Authentication -

 

enable_pool_hba = off

                                   # Use pool_hba.conf for client
authentication

authentication_timeout = 60

                                   # Delay in seconds to complete client
authentication

                                   # 0 means no timeout.

 

# - SSL Connections -

 

ssl = off

                                   # Enable SSL support

                                   # (change requires restart)

#ssl_key = './server.key'

                                   # Path to the SSL private key file

                                   # (change requires restart)

#ssl_cert = './server.cert'

                                   # Path to the SSL public certificate
file

                                   # (change requires restart)

#ssl_ca_cert = ''

                                   # Path to a single PEM format file

                                   # containing CA root certificate(s)

                                   # (change requires restart)

#ssl_ca_cert_dir = ''

                                   # Directory containing CA root
certificate(s)

                                   # (change requires restart)

 

 

#-----------------------------------------------------------------------
-------

# POOLS

#-----------------------------------------------------------------------
-------

 

# - Pool size -

 

num_init_children = 32

                                   # Number of pools

                                   # (change requires restart)

max_pool = 4

                                   # Number of connections per pool

                                   # (change requires restart)

 

# - Life time -

 

child_life_time = 300

                                   # Pool exits after being idle for
this many seconds

child_max_connections = 0

                                   # Pool exits after receiving that
many connections

                                   # 0 means no exit

connection_life_time = 0

                                   # Connection to backend closes after
being idle for this many seconds

                                   # 0 means no close

client_idle_limit = 0

                                   # Client is disconnected after being
idle for that many seconds

                                   # (even inside an explicit
transactions!)

                                   # 0 means no disconnection

 

 

#-----------------------------------------------------------------------
-------

# LOGS

#-----------------------------------------------------------------------
-------

 

# - Where to log -

 

log_destination = 'stderr'

                                   # Where to log

                                   # Valid values are combinations of
stderr,

                                   # and syslog. Default to stderr.

 

# - What to log -

 

print_timestamp = on

                                   # Print timestamp on each line

                                   # (change requires restart)

 

log_connections = off

                                   # Log connections

log_hostname = off

                                   # Hostname will be shown in ps status

                                   # and in logs if connections are
logged

log_statement = off

                                   # Log all statements

log_per_node_statement = off

                                   # Log all statements

                                   # with node and backend informations

log_standby_delay = 'none'

                                   # Log standby delay

                                   # Valid values are combinations of
always,

                                   # if_over_threshold, none

 

# - Syslog specific -

 

syslog_facility = 'LOCAL0'

                                   # Syslog local facility. Default to
LOCAL0

syslog_ident = 'pgpool'

                                   # Syslog program identification
string

                                   # Default to 'pgpool'

 

# - Debug -

 

debug_level = 10

                                   # Debug message verbosity level

                                   # 0 means no message, 1 or more mean
verbose

 

 

#-----------------------------------------------------------------------
-------

# FILE LOCATIONS

#-----------------------------------------------------------------------
-------

 

pid_file_name = '/var/run/pgpool/pgpool.pid'

                                   # PID file name

                                   # (change requires restart)

logdir = '/tmp'

                                   # Directory of pgPool status file

                                   # (change requires restart)

 

 

#-----------------------------------------------------------------------
-------

# CONNECTION POOLING

#-----------------------------------------------------------------------
-------

 

connection_cache = on

                                   # Activate connection pools

                                   # (change requires restart)

 

                                   # Semicolon separated list of queries

                                   # to be issued at the end of a
session

                                   # The default is for 8.3 and later

reset_query_list = 'ABORT; DISCARD ALL'

                                   # The following one is for 8.2 and
before

#reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION
DEFAULT'

 

 

#-----------------------------------------------------------------------
-------

# REPLICATION MODE

#-----------------------------------------------------------------------
-------

 

replication_mode = on

                                   # Activate replication mode

                                   # (change requires restart)

replicate_select = off

                                   # Replicate SELECT statements

                                   # when in replication or parallel
mode

                                   # replicate_select is higher priority
than

                                   # load_balance_mode.

 

insert_lock = on

                                   # Automatically locks a dummy row or
a table

                                   # with INSERT statements to keep
SERIAL data

                                   # consistency

                                   # Without SERIAL, no lock will be
issued

lobj_lock_table = ''

                                   # When rewriting lo_creat command in

                                   # replication mode, specify table
name to

                                   # lock

 

# - Degenerate handling -

 

replication_stop_on_mismatch = off

                                   # On disagreement with the packet
kind

                                   # sent from backend, degenerate the
node

                                   # which is most likely "minority"

                                   # If off, just force to exit this
session

 

failover_if_affected_tuples_mismatch = off

                                   # On disagreement with the number of
affected

                                   # tuples in UPDATE/DELETE queries,
then

                                   # degenerate the node which is most
likely

                                   # "minority".

                                   # If off, just abort the transaction
to

                                   # keep the consistency

 

 

#-----------------------------------------------------------------------
-------

# LOAD BALANCING MODE

#-----------------------------------------------------------------------
-------

 

load_balance_mode = on

                                   # Activate load balancing mode

                                   # (change requires restart)

ignore_leading_white_space = on

                                   # Ignore leading white spaces of each
query

white_function_list = ''

                                   # Comma separated list of function
names

                                   # that don't write to database

                                   # Regexp are accepted

black_function_list = 'nextval,setval'

                                   # Comma separated list of function
names

                                   # that write to database

                                   # Regexp are accepted

 

 

#-----------------------------------------------------------------------
-------

# MASTER/SLAVE MODE

#-----------------------------------------------------------------------
-------

 

master_slave_mode = off

                                   # Activate master/slave mode

                                   # (change requires restart)

master_slave_sub_mode = 'slony'

                                   # Master/slave sub mode

                                   # Valid values are combinations slony
or

                                   # stream. Default is slony.

                                   # (change requires restart)

 

# - Streaming -

 

sr_check_period = 0

                                   # Streaming replication check period

                                   # Disabled (0) by default

sr_check_user = 'nobody'

                                   # Streaming replication check user

                                   # This is neccessary even if you
disable streaming

                                   # replication delay check by
sr_check_period = 0

sr_check_password = ''

                                   # Password for streaming replication
check user

delay_threshold = 0

                                   # Threshold before not dispatching
query to standby node

                                   # Unit is in bytes

                                   # Disabled (0) by default

 

# - Special commands -

 

follow_master_command = ''

                                   # Executes this command after master
failover

                                   # Special values:

                                   #   %d = node id

                                   #   %h = host name

                                   #   %p = port number

                                   #   %D = database cluster path

                                   #   %m = new master node id

                                   #   %H = hostname of the new master
node

                                   #   %M = old master node id

                                   #   %P = old primary node id

                                   #   %% = '%' character

 

 

#-----------------------------------------------------------------------
-------

# PARALLEL MODE AND QUERY CACHE

#-----------------------------------------------------------------------
-------

 

parallel_mode = off

                                  # Activates parallel query mode

                                   # (change requires restart)

enable_query_cache = off

                                   # Activates query cache

                                   # (change requires restart)

 

pgpool2_hostname = ''

                                   # Set pgpool2 hostname 

                                   # (change requires restart)

 

# - System DB info -

 

system_db_hostname  = 'localhost'

                                   # (change requires restart)

system_db_port = 5432

                                   # (change requires restart)

system_db_dbname = 'pgpool'

                                   # (change requires restart)

system_db_schema = 'pgpool_catalog'

                                   # (change requires restart)

system_db_user = 'pgpool'

                                   # (change requires restart)

system_db_password = ''

                                   # (change requires restart)

 

 

#-----------------------------------------------------------------------
-------

# HEALTH CHECK

#-----------------------------------------------------------------------
-------

 

health_check_period = 0

                                   # Health check period

                                   # Disabled (0) by default

health_check_timeout = 20

                                   # Health check timeout

                                   # 0 means no timeout

health_check_user = 'nobody'

                                   # Health check user

health_check_password = ''

                                   # This parameter is not yet
implemented.

                                   # Password for health check user

 

 

#-----------------------------------------------------------------------
-------

# FAILOVER AND FAILBACK

#-----------------------------------------------------------------------
-------

 

failover_command = ''

                                   # Executes this command at failover

                                   # Special values:

                                   #   %d = node id

                                   #   %h = host name

                                   #   %p = port number

                                   #   %D = database cluster path

                                   #   %m = new master node id

                                   #   %H = hostname of the new master
node

                                   #   %M = old master node id

                                   #   %P = old primary node id

                                   #   %% = '%' character

failback_command = ''

                                   # Executes this command at failback.

                                   # Special values:

                                   #   %d = node id

                                   #   %h = host name

                                   #   %p = port number

                                   #   %D = database cluster path

                                   #   %m = new master node id

                                   #   %H = hostname of the new master
node

                                   #   %M = old master node id

                                   #   %P = old primary node id

                                   #   %% = '%' character

 

fail_over_on_backend_error = on

                                   # Initiates failover when writing to
the

                                   # backend communication socket fails

                                   # This is the same behaviour of
pgpool-II

                                   # 2.2.x and previous releases

                                   # If set to off, pgpool will report
an

                                   # error and disconnect the session.

 

 

#-----------------------------------------------------------------------
-------

# ONLINE RECOVERY

#-----------------------------------------------------------------------
-------

 

recovery_user = 'nobody'

                                   # Online recovery user

recovery_password = ''

                                   # Online recovery password

recovery_1st_stage_command = ''

                                   # Executes a command in first stage

recovery_2nd_stage_command = ''

                                   # Executes a command in second stage

recovery_timeout = 90

                                   # Timeout in seconds to wait for the

                                   # recovering node's postmaster to
start up

                                   # 0 means no wait

client_idle_limit_in_recovery = 0

                                   # Client is disconnected after being
idle

                                   # for that many seconds in the second
stage

                                   # of online recovery

                                   # 0 means no disconnection

                                   # -1 means immediate disconnection

 

 

#-----------------------------------------------------------------------
-------

# OTHERS

#-----------------------------------------------------------------------
-------

 

relcache_expire = 0

                                   # Life time of relation cache in
seconds.

                                   # 0 means no cache expiration(the
default).

                                   # The relation cache is used for
cache the

                                   # query result against PostgreSQL
system

                                   # catalog to obtain various
information

                                   # including table structures or if
it's a

                                   # temporary table or not. The cache
is

                                   # maintained in a pgpool child local
memory

                                   # and being kept as long as it
survives.

                                   # If someone modify the table by
using

                                   # ALTER TABLE or some such, the
relcache is

                                   # not consistent anymore.

                                   # For this purpose, cache_expiration

                                   # controls the life time of the
cache.

 

 

 Darren Carman
Senior Software Engineer

GEO-Information Services

 

Astrium Services

Tel +44 (0)1252 362138

http://www.infoterra.co.uk <http://www.infoterra.co.uk> 

 


Infoterra Ltd. Is part of the Astrium GEO-Information Services Division and a wholly owned subsidiary of Astrium, Europe's leading space systems and services specialist.

Disclaimer. The information contained in this e-mail and its attachments are confidential and intended only for the use of the named addressee(s). If you are not the intended addressee, please do not read, copy, use or disclose this message or its attachments. If you have received this message in error, please notify the sender immediately and delete or destroy all copies of this message and attachments in all media. Any views or opinions expressed are solely those of the author and do not necessarily represent those of Infoterra Ltd and shall not form part of any binding agreement.

Infoterra Limited a company registered in England under number 2359955 and having its registered office at Atlas House, 41 Wembley Road, Leicester, LE3 1UT. VAT number GB 476 0468 27. 

P Before printing, think about the environment 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.sraoss.jp/pipermail/pgpool-general/attachments/20120523/60574a20/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 274 bytes
Desc: image001.png
URL: <http://www.sraoss.jp/pipermail/pgpool-general/attachments/20120523/60574a20/attachment-0001.png>


More information about the pgpool-general mailing list