Andrew Hammond andrew.george.hammond at gmail.com
Fri Mar 16 17:11:15 PDT 2007
On 3/16/07, David Fetter <david at fetter.org> wrote:
> Folks,
>
> When managing database changes on a single database, I frequently do
> things like:
>
> BEGIN;
> CREATE TABLE ...;
either slonik execute script or via psql against all members in the cluster

slonik create new set
slonik add table,
slonik subscribe set as necessary

> COPY ... ; -- Populate the new table

Against the origin, as you'd expect.

> ALTER TABLE ... ADD COLUMN ... USING ... ; -- From previous statements
> ALTER TABLE ...;

slonik execute script,

> DROP TABLE ....;

slonik drop set,
slonik execute script or via psql on all nodes

> COMMIT;
>
> This way, only whole schema changes are visible.

I am not aware of any way to achieve this in a single transaction.

> How do people approach this with Slony?

I recently submitted an RFC to both this list and pgsql-general for a
tool we're building here that's intended to address automation of this
kind of multi-phased upgrade.

http://archives.postgresql.org/pgsql-general/2007-03/msg00272.php

There has been further thinking about this tool locally so that
posting is a bit out of date. If you're interested. I need to clean up
the wiki page that hosts the design anyway. I'll put it back on the
list if you're intereested. We're already  into coding at this point.
I intend to release the tool once it's got the basic functionality
implemented.

Andrew


More information about the Slony1-general mailing list