On Wed, 8 Apr 2020, zayasj1 wrote:

The merge sets completed. We have slony running on both sides 
(production/failover). We're using PostgreSQL
9.4.

When I am looking in pgAdmin, and I go down to Slony Replication and start 
looking at my clusters, I can see
"Nodes" and "Replication sets".

The issue I am having is that the 'Replication set" called "temporary cluster" 
was not cleaned up and is
still lingering around and I can't do a drop/delete from the GUI. I am trying 
to rerun a new merge for
additional tables that need replication setup, but it keeps failing because I 
can't reuse that same temp
cluster and I really don't want to just create a new temp cluster with a new 
name. I'd just like to figure
out how to drop that temp cluster and then start over with my "make_merge" 
process.

Javier

The word 'cluster' and 'set' have specific meanings in slony.
THINK you are saying that you have

* 1 cluster called 'cluster1'
* You initially had 1 set in the cluster (set id=1)
* You then created a second set in this cluster (set id=2)
* Your slonik script failed, leaving set 2 in an unknown state.

If this is the case, you can drop set 2

with


cluster name = $CLUSTER;
​node 1 admin conninfo = 'dbname=$DB1 host=$H1 user=$U port=$P password=$W';
node 2 admin conninfo = 'dbname=$DB2 host=$H2 user=$U port=$P password=$W';
drop set(id=2,origin=1);


At this point your set (set 2) should no longer be part of the cluster.

You could then recreate set 2, add the tables, subscribe the set and merge the set as your script originally did.

If my above assumptions are incorrect and you actually have 2 clusters then something different would apply.

Steve


On Wednesday, April 8, 2020, 9:27:35 AM PDT, Steve Singer <[email protected]> 
wrote:


On Wed, 8 Apr 2020, zayasj1 via Slony1-general wrote:

I want to confirm a few things first

Your are saying that you have two clusters, $CLUSTER was set to 'cluster1'
and 'cluster2'.

and when you do

select * from  _cluster1.sl_set;

you see your two sets

and

select * from _cluster2.sl_set;

you see some other sets.

Are you running slon daemons for both clusters, or just 1?

Has the subscription + mergeset completed for one of the clusters?
Has it completed for both?


Is your question how you can you drop cluster2 ? Or something else?



>
>      I am having an issue with Slony replication. I was doing a merge of new 
tables that needed to be
>      replicated and my connection died in mid-process (forgot to set in a 
screen session). Now I have
>      temporary clusters in both my primary and backup table. When I go into 
pgAdmin, I can't seem to
>      drop these temporary clusters. Does someone know of a way to do this in 
a shell script? I ran a
>      make-merge script to get the list of tables I wanted to update. Due to 
the size of some of those
>      tables, I was doing them one at a time to make sure I wasn't impacting 
anything. During this
>      process, the replication setup broke
>
> relevant code from my shell script to feed to slonik as follow:
>
> cluster name = $CLUSTER;
>
> ​node 1 admin conninfo = 'dbname=$DB1 host=$H1 user=$U port=$P password=$W';
> node 2 admin conninfo = 'dbname=$DB2 host=$H2 user=$U port=$P password=$W';
>
> ​create set (id=2, origin=1, comment='temporary cluster');
>
> ​set add table (set id=2, origin=1, id=363, fully qualified name = 
'public.table1');
> set add sequence (set id=2, origin=1, id=364, fully qualified name = 
'public.table1_id_seq');
>
>
> ​subscribe set(id=2, provider=1,receiver=2);
> merge set(id=1, add id=2,origin=1);
>
>
> I figured there has to be a way to run a similar type of script that would 
let me drop the temporary
> cluster based on the "set" details, but have never had the pgadmin GUI not 
work for me, so kinda stuck.
> Anyone else ever deal with this?
>
> Many thanks,
> Javier
>
>
>


_______________________________________________
Slony1-general mailing list
[email protected]
http://lists.slony.info/mailman/listinfo/slony1-general

Reply via email to