[Slony1-general] slonik replcation
Steve Singer
steve at ssinger.info
Thu Apr 9 01:57:18 UTC 2020
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 <steve at ssinger.info> 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
> >
> >
> >
>
>
More information about the Slony1-general
mailing list