Jeff Davis pgsql at j-davis.com
Sun Jul 1 16:05:56 PDT 2007
On Fri, 2007-06-29 at 23:57 -0700, Andrew Hammond wrote:
> A really interesting win would be in detecting cases where you can go from
> 
> WHERE id IN ( a list )
> 
> to
> 
> WHERE a < id AND id < b
> 
> However I think this is only possible at the time the transaction
> happens (how else will you know if your sequence is contigious. And
> that suggests to me that it's not reasonable to do at this time.
> 

If we move the data from the provider to a temp table on the receiver,
we could also use an IN query rather than a range. I don't know when
this would be a win, but it seems like it would be useful in some cases.

A range is much nicer, but like you say, it's harder to detect in a
deterministic way.

> Also, ISTM that the big reason we don't like statement based
> replication is that SQL has many non-deterministic aspects. However,
> there is probably a pretty darn big subset of SQL which is provably
> non-deterministic. And for that subset, would it be any less rigorous
> to transmit those statements than to transmit the per-row change
> statments like we currently do?
> 

The pgpool guys have done a lot of research on statement replication
already. I think it's a very interesting line of research that is good
in a lot of cases. It's worth thinking about parts of pgpool that would
be useful in slony.

Regards,
	Jeff Davis



More information about the Slony1-general mailing list