Обсуждение: Unrecognized configuration parameter in bdr 0.9.3

Поиск
Список
Период
Сортировка

Unrecognized configuration parameter in bdr 0.9.3

От
Kaushal Shriyan
Дата:
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

Re: Unrecognized configuration parameter in bdr 0.9.3

От
Craig Ringer
Дата:
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

Re: Unrecognized configuration parameter in bdr 0.9.3

От
Kaushal Shriyan
Дата:
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