Unrecognized configuration parameter in bdr 0.9.3

Started by Kaushal Shriyanabout 10 years ago3 messagesgeneral
Jump to latest
#1Kaushal Shriyan
kaushalshriyan@gmail.com

Hi,

I am following http://bdr-project.org/docs/stable/index.html for setting up
multimaster replication.

*First Master box*

*cat postgresql.conf*
# Allow two other peer nodes, plus one for init_replica
max_replication_slots = 3

# Two peer nodes, plus two slots for pg_basebackup
max_wal_senders = 4

# Record data for logical replication
wal_level = 'logical'
track_commit_timestamp = on

# Load BDR
shared_preload_libraries = 'bdr'

# Make sure there are enough background worker slots for BDR to run
max_worker_processes = 10

# These aren't required, but are useful for diagnosing problems
#log_error_verbosity = verbose
#log_min_messages = debug1
#log_line_prefix = 'd=%d p=%p a=%a%q '

# Useful options for playing with conflicts
#bdr.default_apply_delay=2000 # milliseconds
#bdr.log_conflicts_to_table=on

# (BEGIN) BDR connection settings for node 1, port 5600
bdr.connections = 'secondarymasterport5601'
bdr.secondarymasterport5601_dsn = 'dbname=bdrdemo user=postgres port=5601'
# (END) BDR connection settings for node 1, port 5600

# (BEGIN) BDR connection settings for node 2, port 5601
#bdr.connections = '{DevEnvName}node01port5600'
#bdr.{DevEnvName}node01port5600_dsn = 'dbname={DevDBName} user=postgres
port=5600'
#bdr.{DevEnvName}node01port5600_init_replica = on
#bdr.{DevEnvName}node01port5600_replica_local_dsn = 'dbname={DevDBName}
user=postgres port=5601'
# (END) BDR connection settings for node 2, port 5601

cat postgresql.log
< 2016-02-11 07:03:09.431 EST >LOG: registering background worker "bdr
supervisor"
*< 2016-02-11 07:03:09.431 EST >WARNING: unrecognized configuration
parameter "bdr.connections"*
*< 2016-02-11 07:03:09.431 EST >WARNING: unrecognized configuration
parameter "bdr.secondarymasterport5601_dsn"*
< 2016-02-11 07:03:09.446 EST >LOG: redirecting log output to logging
collector process
< 2016-02-11 07:03:09.446 EST >HINT: Future log output will appear in
directory "pg_log".

*Second Master Box.*

*cat postgresql.conf*
# Allow two other peer nodes, plus one for init_replica
max_replication_slots = 3

# Two peer nodes, plus two slots for pg_basebackup
max_wal_senders = 4

# Record data for logical replication
wal_level = 'logical'
track_commit_timestamp = on

# Load BDR
shared_preload_libraries = 'bdr'

# Make sure there are enough background worker slots for BDR to run
max_worker_processes = 10

# These aren't required, but are useful for diagnosing problems
#log_error_verbosity = verbose
#log_min_messages = debug1
#log_line_prefix = 'd=%d p=%p a=%a%q '

# Useful options for playing with conflicts
#bdr.default_apply_delay=2000 # milliseconds
#bdr.log_conflicts_to_table=on

# (BEGIN) BDR connection settings for node 1, port 5600
#bdr.connections = 'primarymasterport5600'
#bdr.primarymasterport5600_dsn = 'dbname=bdrdemo user=postgres port=5600'
#bdr.primarymasterport5600_init_replica = on
#bdr.primarymasterport5600_replica_local_dsn = 'dbname=bdrdemo
user=postgres port=5601'
# (END) BDR connection settings for node 1, port 5600

# (BEGIN) BDR connection settings for node 2, port 5601
bdr.connections = 'primarymasterport5600'
bdr.primarymasterport5600_dsn = 'dbname=bdrdemo user=postgres port=5600'
bdr.primarymasterport5600_init_replica = on
bdr.primarymasterport5600_replica_local_dsn = 'dbname=bdrdemo user=postgres
port=5601'
#bdr.{DevEnvName}node01port5600_init_replica = on
#bdr.{DevEnvName}node01port5600_replica_local_dsn = 'dbname={DevDBName}
user=postgres port=5601'
# (END) BDR connection settings for node 2, port 5601

-bash-4.1$ cat postgresql.log
< 2016-02-11 07:03:17.231 EST >LOG: registering background worker "bdr
supervisor"
*< 2016-02-11 07:03:17.231 EST >WARNING: unrecognized configuration
parameter "bdr.connections"*
*< 2016-02-11 07:03:17.231 EST >WARNING: unrecognized configuration
parameter "bdr.primarymasterport5600_dsn"*
*< 2016-02-11 07:03:17.231 EST >WARNING: unrecognized configuration
parameter "bdr.primarymasterport5600_init_replica"*
*< 2016-02-11 07:03:17.231 EST >WARNING: unrecognized configuration
parameter "bdr.primarymasterport5600_replica_local_dsn"*
< 2016-02-11 07:03:17.247 EST >LOG: redirecting log output to logging
collector process
< 2016-02-11 07:03:17.247 EST >HINT: Future log output will appear in
directory "pg_log".
-bash-4.1$

On both the master postgresql box i have the below versions.

$rpm -qa | grep bdr
postgresql-bdr94-2ndquadrant-redhat-1.0-2.noarch
postgresql-bdr94-contrib-9.4.5_bdr1-1_2ndQuadrant.el6.x86_64
libdrm-2.4.52-4.el6.x86_64
postgresql-bdr94-libs-9.4.5_bdr1-1_2ndQuadrant.el6.x86_64
postgresql-bdr94-server-9.4.5_bdr1-1_2ndQuadrant.el6.x86_64
postgresql-bdr94-bdr-0.9.3-1_2ndQuadrant.el6.x86_64
postgresql-bdr94-9.4.5_bdr1-1_2ndQuadrant.el6.x86_64
-bash-4.1$ rpm -qil postgresql-bdr94-bdr-0.9.3-1_2ndQuadrant.el6.x86_64
Name : postgresql-bdr94-bdr Relocations: (not relocatable)
Version : 0.9.3 Vendor: (none)
Release : 1_2ndQuadrant.el6 Build Date: Wed 21 Oct 2015
02:36:18 AM EDT
Install Date: Mon 01 Feb 2016 03:47:27 AM EST Build Host:
ip-10-169-124-243.ec2.internal
Group : Applications/Databases Source RPM:
postgresql-bdr94-bdr-0.9.3-1_2ndQuadrant.el6.src.rpm
Size : 1487220 License: PostgreSQL
Signature : RSA/SHA1, Wed 21 Oct 2015 02:36:46 AM EDT, Key ID
a879b7346e192b0e
URL : http://2ndquadrant.com/bdr
Summary : BDR - Bi-Directional Replication for PostgreSQL
Description :
postgresql-bdr94-bdr installs the 'bdr' extension for bi-directional
asynchronous multi-master replication in PostgreSQL.

This package contains BDR 0.9.3 built with PostgreSQL postgresql-bdr94 plus
BDR support patches.
/usr/pgsql-9.4/bin/bdr_dump
/usr/pgsql-9.4/bin/bdr_init_copy
/usr/pgsql-9.4/bin/bdr_initial_load
/usr/pgsql-9.4/bin/bdr_resetxlog
/usr/pgsql-9.4/lib/bdr.so
/usr/pgsql-9.4/share/extension/bdr--0.7--0.7.1.sql
/usr/pgsql-9.4/share/extension/bdr--0.7.1--0.8.0.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0--0.8.0.1.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.1--0.8.0.2.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.1.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.2--0.8.0.3.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.2.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.3--0.8.0.4.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.3.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.4--0.8.0.5.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.4.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.5--0.8.0.6.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.5.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.6--0.8.0.7.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.6.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.7--0.9.0.0.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.7.sql
/usr/pgsql-9.4/share/extension/bdr--0.8.0.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.0--0.9.0.1.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.0.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.1--0.9.0.2.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.1.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.2--0.9.0.3.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.2.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.3--0.9.0.4.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.3.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.4--0.9.0.5.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.4.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.5--0.9.1.0.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.0.5.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.1.0--0.9.2.0.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.1.0.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.2.0--0.9.3.0.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.2.0.sql
/usr/pgsql-9.4/share/extension/bdr--0.9.3.0.sql
/usr/pgsql-9.4/share/extension/bdr.control
/usr/share/doc/pgsql/extension/README.bdr
/usr/share/doc/pgsql/extension/bdr.conf.sample
-bash-4.1$

Please do let me know if anyone needs any information related to configs or
logs.
Any help will be highly appreciable.

Regards,

Kaushal

#2Craig Ringer
craig@2ndquadrant.com
In reply to: Kaushal Shriyan (#1)
Re: Unrecognized configuration parameter in bdr 0.9.3

On 11 February 2016 at 20:16, Kaushal Shriyan <kaushalshriyan@gmail.com>
wrote:

Hi,

I am following http://bdr-project.org/docs/stable/index.html for setting
up multimaster replication.

Are you sure that's the documentation you were using?

You seem to have settings that only applied to the older 0.7.x versions:

# (BEGIN) BDR connection settings for node 1, port 5600
bdr.connections = 'secondarymasterport5601'
bdr.secondarymasterport5601_dsn = 'dbname=bdrdemo user=postgres port=5601'
# (END) BDR connection settings for node 1, port 5600

# (BEGIN) BDR connection settings for node 2, port 5601
#bdr.connections = '{DevEnvName}node01port5600'
#bdr.{DevEnvName}node01port5600_dsn = 'dbname={DevDBName} user=postgres
port=5600'
#bdr.{DevEnvName}node01port5600_init_replica = on
#bdr.{DevEnvName}node01port5600_replica_local_dsn = 'dbname={DevDBName}
user=postgres port=5601'
# (END) BDR connection settings for node 2, port 5601

The above is not used in BDR 0.9.x. Configuration is done at the SQL level.

--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

#3Kaushal Shriyan
kaushalshriyan@gmail.com
In reply to: Craig Ringer (#2)
Re: Unrecognized configuration parameter in bdr 0.9.3

On Fri, Feb 12, 2016 at 7:40 AM, Craig Ringer <craig@2ndquadrant.com> wrote:

On 11 February 2016 at 20:16, Kaushal Shriyan <kaushalshriyan@gmail.com>
wrote:

Hi,

I am following http://bdr-project.org/docs/stable/index.html for setting
up multimaster replication.

Are you sure that's the documentation you were using?

You seem to have settings that only applied to the older 0.7.x versions:

# (BEGIN) BDR connection settings for node 1, port 5600
bdr.connections = 'secondarymasterport5601'
bdr.secondarymasterport5601_dsn = 'dbname=bdrdemo user=postgres port=5601'
# (END) BDR connection settings for node 1, port 5600

# (BEGIN) BDR connection settings for node 2, port 5601
#bdr.connections = '{DevEnvName}node01port5600'
#bdr.{DevEnvName}node01port5600_dsn = 'dbname={DevDBName} user=postgres
port=5600'
#bdr.{DevEnvName}node01port5600_init_replica = on
#bdr.{DevEnvName}node01port5600_replica_local_dsn = 'dbname={DevDBName}
user=postgres port=5601'
# (END) BDR connection settings for node 2, port 5601

The above is not used in BDR 0.9.x. Configuration is done at the SQL level.

--

Hi Craig,

Primary Master Postgresql Node ( IP :- 192.168.10.1)

1)psql --port 5600 --username postgres --dbname bdrdemo

2)CREATE EXTENSION btree_gist;
3)CREATE EXTENSION bdr;

*4)SELECT bdr.bdr_group_create(local_node_name := 'node1',node_external_dsn
:= 'port=5600 dbname=bdrdemo');*
5)SELECT bdr.bdr_node_join_wait_for_ready();

Secondary Master Postgresql Node ( IP :- 192.168.10.2)

6)psql --port 5601 --username postgres --dbname bdrdemo

7)CREATE EXTENSION btree_gist;
8)CREATE EXTENSION bdr;

*9)SELECT bdr.bdr_group_join(local_node_name := 'node2',node_external_dsn
:= 'port=5601 dbname=bdrdemo', join_using_dsn := 'port=5600 dbname=bdrdemo'
);*
10)SELECT bdr.bdr_node_join_wait_for_ready();

Based on
http://blog.2ndquadrant.com/dynamic-sql-level-configuration-for-bdr-0-9-0/
since my setup is hosted on two different servers. So if i execute the step
no. 4 in Primary Master Node (IP :- 192.168.10.1) as below

*SELECT bdr.bdr_group_create(local_node_name := 'node1',node_external_dsn
:= 'host **192.168.10.1* *port=5600 dbname=bdrdemo');*

and Step No. 9 in Secondary Master Postgresql Node ( IP :- 192.168.10.2) as
below.

*SELECT bdr.bdr_group_join(local_node_name := 'node2',node_external_dsn :=
'port=5601 dbname=bdrdemo', join_using_dsn := 'host 192.168.10.2 port=5600
dbname=bdrdemo' );*

Are those select statements highlighted in red are supported and correct
and executed at the SQL Level meaning after adding *host **192.168.10.1 in
dsn of Primary Master* and *host **192.168.10.2 in dsn of Secondary Master*?

Please comment.

Thanks in Advance

Regards,

Kaushal