[pgpool-general: 3211] Problem creating database with replication mode (pgpool 3.1.12)

Jose Baez pepote at gmail.com
Wed Oct 8 02:27:01 JST 2014


Hello!

I've got 2 virtual machine (Xen Server 6.2) with Debian Wheezy and:

   - PostgreSQL 9.1
   - Pgpool 3.1.12
   - Pacemaker/Corosync with pgpool-HA 2.2

I tweaked the recovery scripts to do "online recovery". It went smooth both
ways.

However, when I "CREATE DATABASE" and connect through PgAdmin, Pgpool says:

ERROR: pid 7628: read_kind_from_backend: *1 th kind C does not match with
master or majority connection kind D*
ERROR: pid 7628: kind mismatch among backends. Possible last query was:
"SET DateStyle=ISO; SET client_min_messages=notice; SET
bytea_output=escape; SELECT oid, pg_encoding_to_char(encoding) AS encoding,
datlastsysoid
  FROM pg_database WHERE *oid = 18540" kind details are: 0[D] 1[C]*

I checked database OID on each node and they are different (oid 18549 and
the oher is 26670). Is it normal?
I created a few tables and they have indeed different OID in both
nodes......

If it is normal to have different OID in both nodes, why pgpool would
complain?
If it should not happen, why would both nodes create an object with
different OID? I checked in both nodes that all Pgpool extensions are
installed (regclass, insert_lock, recovery, remote_start, switch_xlog)

What field/file defines the next OID to use?

At first, I thought the problem was the multiple statement limitation (sent
by PgAdmin) but it is not, because when I do "online recovery" both nodes
get same OID in every object and I can connect with PgAdmin smoothly.

(I found few links about same problem and nobody answered:
http://lists.pgfoundry.org/pipermail/pgpool-general/2009-October/002229.html
http://lists.pgfoundry.org/pipermail/pgpool-general/2008-June/001071.html

I used PgAdmin from 1.16 to 1.20 with same behaviour.


Thank you for your time!


*pgpool.conf:*

backend_hostname0 = 'psql1'
backend_port0 = 5433
backend_weight0 = 1
backend_data_directory0 = '/var/lib/postgresql/9.1/main'
backend_flag0 = 'ALLOW_TO_FAILOVER'

backend_hostname1 = 'psql2'
backend_port1 = 5433
backend_weight1 = 1
backend_data_directory1 = '/var/lib/postgresql/9.1/main'
backend_flag1 = 'ALLOW_TO_FAILOVER'

connection_cache = on

replication_mode = on
   replicate_select = off
   insert_lock = on
   lobj_lock_table = ''

load_balance_mode = off
master_slave_mode = off
parallel_mode = off
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.sraoss.jp/pipermail/pgpool-general/attachments/20141007/8ad3aa84/attachment.html>


More information about the pgpool-general mailing list