[Postgres-xl-general] ALTER TABLE - ADD NODE
ajackson at revionics.com
Mon Sep 22 06:52:09 PDT 2014
Completely agree with you Koichi. However, for reasons unknown, pgxc_ctl has been regularly core dumping on one specific datanode in my configuration. As such, I can't use it for anything with this node, not even a simple init.
I expect to throw it under a debugger later today to see what is going wrong, but it almost appears as if it segv's after invoking ssh on the remote host. Anyway, this was the reason why I had not used pgxc_ctl for this instance.
From: Koichi Suzuki [koichi.dbms at gmail.com]
Sent: Monday, September 22, 2014 4:51 AM
To: Aaron Jackson
Cc: postgres-xl-general at lists.sourceforge.net
Subject: Re: [Postgres-xl-general] ALTER TABLE - ADD NODE
You should have added datanode4 with pgxc_ctl, if the whole cluster
was configured with it. Pgxc_ctl will cross-check conflict resource
to avoid such case. Even though you're successful in adding a node
manually, you may have to maintain your cluster manually afterwords.
2014-09-19 13:35 GMT+09:00 Aaron Jackson <ajackson at revionics.com>:
> For many reasons, you should ignore my previous email. Obviously what I
> tried to do was add a datanode to a cluster in a live fashion - and the
> documentation clearly doesn't recommend doing that for adding a new
> The bigger kicker here is that I actually added datanode4 with the same port
> as datanode1 - they're one digit off. My mistake.
> From: Aaron Jackson
> Sent: Thursday, September 18, 2014 11:06 PM
> To: postgres-xl-general at lists.sourceforge.net
> Subject: ALTER TABLE - ADD NODE
> So I added a datanode to my cluster this evening (more or less by hand for
> fear of it going sideways with pgxc_ctl). The datanode was added to all
> coordinators and then to all other datanodes without any incident. Then I
> did the following:
> ALTER TABLE client.foo ADD NODE (datanode4);
> Well, client.foo has about 60M rows in it so this took a while. When I came
> back, I saw the following error on my screen.
> ERROR: tuple already updated by self
> So, I decided to see if the table sizes on each node via an execute direct
> with each node.
> devanalysis57=# execute direct on (datanode1) 'select count(*) from
> devanalysis57=# execute direct on (datanode2) 'select count(*) from
> devanalysis57=# execute direct on (datanode3) 'select count(*) from
> devanalysis57=# execute direct on (datanode4) 'select count(*) from
> I think it's a little too coincidental that datanode4 and datanode1 have the
> same number of entries. I ran pgxc_pool_reload() on all nodes, so they
> should all be aware but to be sure, I checked pg_catalog.pgxc_node to be
> So, I then tried to drop datanode4 from client.foo which it didn't like very
> ALTER TABLE client.foo delete node (datanode4);
> ERROR: PGXC Node datanode4: object not in relation node list
> Slashdot TV. Video for Nerds. Stuff that Matters.
> Postgres-xl-general mailing list
> Postgres-xl-general at lists.sourceforge.net
More information about the postgres-xl-general