Hannu Krosing hannu
Sat Sep 24 20:58:24 PDT 2005
On R, 2005-09-23 at 17:44 -0400, Christopher Browne wrote:

> This set of changes conspicuously does NOT include responses to some
> of the recent requests surrounding modifying the way sl_log_1 is
> accessed;

In case you are referring to compressing ctids, I attach a complete
patch to remote_worker.c , fixing an issue of ignoring last run of
ctid's (required bugfix) and collapsing parser case's for digits
(question of choice). 

>  that's fodder for 1.2, and I will see about getting to that.

Perhaps you could change the index on sl_log_1 to something more useful.

Currently the index is on 

create index sl_log_1_idx1 on @NAMESPACE at .sl_log_1
    (log_origin, log_xid @NAMESPACE at .xxid_ops, log_actionseq);

which, on postgresql 7.4, is useful only in case there is only one set
subscribed from the master, 

And in 99.9% of cases (that is when ther is more than 1 xid), the index
is not used for sorting, that is log_actionseq in the index is mostly
dead weight.

Also, as slon forces use of indexscan, it actually forces an indexscan
on constant column ( @NAMESPACE at .sl_log_1.log_origin ) which performs
even worse than plain seqscan.

Of course these problems manifest themselves in a really bad way only on
postgresql 7.4, meaning that they will eventually go away even without
doing anything.

In any case mention the index issue in readme, perhaps recommending
using an index like this:

create index sl_log_1_idx1 on @NAMESPACE at .sl_log_1
    (log_xid @NAMESPACE at .xxid_ops);

instead, which should be at least somewhat useful in most cases actually
used by slon, and does not force pessimal plans in some.

-- 
Hannu Krosing <hannu at skype.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: remote_worker.c.diff
Type: text/x-patch
Size: 7066 bytes
Desc: not available
Url : http://gborg.postgresql.org/pipermail/slony1-general/attachments/20050924/41447d34/remote_worker.c.bin


More information about the Slony1-general mailing list