Christopher Browne cbbrowne
Thu Mar 16 07:36:15 PST 2006
elein wrote:

>I wish to see the results of the queries, especially when there are errors.
>But also to track (and control) who makes DDL changes and what they were
>exactly.  slonik << | tee log.out was not giving me the query output.
>
>This is easy even with many parallel databases using psql.  I get a canonical
>successful run and diff the stdout from other runs to it to do a fast
>and accurate test for success as well as tracking when doing ddl updates.
>I wanted to do the same thing with parallel slony clusters.
>
>When I found I could not get the same output from slony, I had to change
>my technique and only log who and when.  I'd really like the output of
>the script, too.
>
>The more the output looks like the psql output of a script run the
>better.  If that means running the individual queries, so be it.
>  
>
It turns out that running the individual queries is essential, so that
particular change has already been made.

Logging should be a relatively easy exercise.

When the queries were run all at once, as one request, the following
would be *certain* to break...

alter table foo add column col4 integer;  -- This works...
update foo set col4 = nextval('someseq');  -- This doesn't, because at
the time the query parser gets to it, that column doesn't exist yet.

In CVS HEAD, we now split this into individual statements, each executed
separately.

Getting output that looks like what you'd get from psql may be
troublesome; hopefully we can at least get the
  INSERT 0 4
  ALTER
  DELETE 427
and such.



More information about the Slony1-general mailing list