rtshome / pgrepup

Pgrepup is a tool for upgrading through PostgreSQL major versions using logical replication and pglogical extension
GNU General Public License v3.0
37 stars 9 forks source link

pgrepup config with one DB #12

Open noizo opened 7 years ago

noizo commented 7 years ago

Hi again.

I have successfully started replication from pg 9.5.6 to pg 9.6.2 but:

In pgrepup config step, i've chosen only one DB to replicate.

cat .pgrepup

[Security]
encrypted_credentials = n
tmp_folder = /tmp
pg_repup_user_password = eaf01f67a45d4853b38340fc9cc137af

[Source]
host = 10.240.0.2
port = 5432
connect_database = scraping
user = postgres
password = ssap

[Destination]
host = 10.240.0.80
port = 5432
connect_database = scraping
user = postgres
password = ssap

Instead of replicating only scraping db, all databases from master node are being replicated to slave node.

And now i'm trying to perform 'pgrepup stop', and it's not happening.

pgrepup stop

Pgrepup 0.3.7
Check active subscriptions in Destination nodes
 >  template1 ................................................................Active
 >      Launch stop command ..................................................OK
 >  postgres .................................................................Active
 >      Launch stop command ..................................................OK
 >  nicknames ................................................................Active
 >      Launch stop command ..................................................OK
 >  scorrero .................................................................Active

It hangs on 170GB database, and still replicating other databases.

Including logs from slave node

2017-04-06 08:54:12.943 UTC [1981] LOG:  starting pglogical database manager for database postgres
2017-04-06 08:54:13.008 UTC [1983] LOG:  starting pglogical database manager for database scraping
2017-04-06 08:54:13.076 UTC [1985] LOG:  starting pglogical database manager for database email-finder
2017-04-06 08:54:13.140 UTC [1987] LOG:  starting pglogical database manager for database estimato
2017-04-06 08:54:13.210 UTC [1989] LOG:  starting pglogical database manager for database nicknames
2017-04-06 08:54:13.276 UTC [1992] LOG:  starting pglogical database manager for database prospectre
2017-04-06 08:54:13.352 UTC [1994] LOG:  starting pglogical database manager for database scorrero
2017-04-06 08:54:13.419 UTC [1996] LOG:  starting pglogical database manager for database template1
2017-04-06 08:55:17.747 UTC [2059] LOG:  starting apply for subscription subscription
2017-04-06 08:55:17.781 UTC [2062] LOG:  starting apply for subscription subscription
2017-04-06 08:55:17.825 UTC [2066] LOG:  starting apply for subscription subscription
2017-04-06 08:55:17.870 UTC [2070] LOG:  starting apply for subscription subscription
2017-04-06 08:55:17.943 UTC [2075] LOG:  starting apply for subscription subscription
2017-04-06 08:55:18.098 UTC [2079] LOG:  starting apply for subscription subscription
2017-04-06 08:55:18.210 UTC [2083] LOG:  starting apply for subscription subscription
2017-04-06 08:55:18.321 UTC [2087] LOG:  starting apply for subscription subscription
2017-04-06 08:55:29.136 UTC [2095] postgres@postgres ERROR:  existing subscription "subscription" to node "Source" already subscribes to replication set "default"
2017-04-06 08:55:29.136 UTC [2095] postgres@postgres STATEMENT:
                    SELECT pglogical.create_subscription(
                                            subscription_name := 'subscription',
                                            provider_dsn := 'host=10.240.0.2 port=5432 dbname=postgres user=pgrepup_replication password=eaf01f67a45d4853b38340fc9cc137af',
                                            replication_sets := '{default}'::text[]
                    );

2017-04-06 08:55:29.212 UTC [2097] postgres@scraping ERROR:  existing subscription "subscription" to node "Source" already subscribes to replication set "default"
2017-04-06 08:55:29.212 UTC [2097] postgres@scraping STATEMENT:
                    SELECT pglogical.create_subscription(
                                            subscription_name := 'subscription',
                                            provider_dsn := 'host=10.240.0.2 port=5432 dbname=scraping user=pgrepup_replication password=eaf01f67a45d4853b38340fc9cc137af',
                                            replication_sets := '{default}'::text[]
                    );

2017-04-06 08:55:29.246 UTC [2099] postgres@email-finder ERROR:  existing subscription "subscription" to node "Source" already subscribes to replication set "default"
2017-04-06 08:55:29.246 UTC [2099] postgres@email-finder STATEMENT:
                    SELECT pglogical.create_subscription(
                                            subscription_name := 'subscription',
                                            provider_dsn := 'host=10.240.0.2 port=5432 dbname=email-finder user=pgrepup_replication password=eaf01f67a45d4853b38340fc9cc137af',
                                            replication_sets := '{default}'::text[]
                    );

2017-04-06 08:55:29.273 UTC [2101] postgres@estimato ERROR:  existing subscription "subscription" to node "Source" already subscribes to replication set "default"
2017-04-06 08:55:29.273 UTC [2101] postgres@estimato STATEMENT:
                    SELECT pglogical.create_subscription(
                                            subscription_name := 'subscription',
                                            provider_dsn := 'host=10.240.0.2 port=5432 dbname=estimato user=pgrepup_replication password=eaf01f67a45d4853b38340fc9cc137af',
                                            replication_sets := '{default}'::text[]
                    );

2017-04-06 08:55:29.301 UTC [2103] postgres@nicknames ERROR:  existing subscription "subscription" to node "Source" already subscribes to replication set "default"
2017-04-06 08:55:29.301 UTC [2103] postgres@nicknames STATEMENT:
                    SELECT pglogical.create_subscription(
                                            subscription_name := 'subscription',
                                            provider_dsn := 'host=10.240.0.2 port=5432 dbname=nicknames user=pgrepup_replication password=eaf01f67a45d4853b38340fc9cc137af',
                                            replication_sets := '{default}'::text[]
                    );

2017-04-06 08:55:29.327 UTC [2105] postgres@prospectre ERROR:  existing subscription "subscription" to node "Source" already subscribes to replication set "default"
2017-04-06 08:55:29.327 UTC [2105] postgres@prospectre STATEMENT:
                    SELECT pglogical.create_subscription(
                                            subscription_name := 'subscription',
                                            provider_dsn := 'host=10.240.0.2 port=5432 dbname=prospectre user=pgrepup_replication password=eaf01f67a45d4853b38340fc9cc137af',
                                            replication_sets := '{default}'::text[]
                    );

2017-04-06 08:55:29.352 UTC [2107] postgres@scorrero ERROR:  existing subscription "subscription" to node "Source" already subscribes to replication set "default"
2017-04-06 08:55:29.352 UTC [2107] postgres@scorrero STATEMENT:
                    SELECT pglogical.create_subscription(
                                            subscription_name := 'subscription',
                                            provider_dsn := 'host=10.240.0.2 port=5432 dbname=scorrero user=pgrepup_replication password=eaf01f67a45d4853b38340fc9cc137af',
                                            replication_sets := '{default}'::text[]
                    );

2017-04-06 08:55:29.383 UTC [2109] postgres@template1 ERROR:  existing subscription "subscription" to node "Source" already subscribes to replication set "default"
2017-04-06 08:55:29.383 UTC [2109] postgres@template1 STATEMENT:
                    SELECT pglogical.create_subscription(
                                            subscription_name := 'subscription',
                                            provider_dsn := 'host=10.240.0.2 port=5432 dbname=template1 user=pgrepup_replication password=eaf01f67a45d4853b38340fc9cc137af',
                                            replication_sets := '{default}'::text[]
                    );

2017-04-06 09:35:35.272 UTC [2087] LOG:  apply worker [2087] at slot 15 generation 1 detaching cleanly
2017-04-06 09:35:38.412 UTC [2059] LOG:  apply worker [2059] at slot 8 generation 1 detaching cleanly
2017-04-06 09:35:41.278 UTC [2075] LOG:  apply worker [2075] at slot 12 generation 1 detaching cleanly
2017-04-06 09:57:11.145 UTC [8767] postgres@postgres ERROR:  subscriber subscription not found
2017-04-06 09:57:11.145 UTC [8767] postgres@postgres STATEMENT:  SELECT status FROM pglogical.show_subscription_status(subscription_name := 'subscription');
2017-04-06 09:57:11.613 UTC [8771] postgres@nicknames ERROR:  subscriber subscription not found
2017-04-06 09:57:11.613 UTC [8771] postgres@nicknames STATEMENT:  SELECT status FROM pglogical.show_subscription_status(subscription_name := 'subscription');
2017-04-06 09:57:12.374 UTC [8774] postgres@template1 ERROR:  subscriber subscription not found
2017-04-06 09:57:12.374 UTC [8774] postgres@template1 STATEMENT:  SELECT status FROM pglogical.show_subscription_status(subscription_name := 'subscription');