Simon Riggs simon
Wed Nov 29 03:59:14 PST 2006
In a recent thread on pgsql-hackers, I said I was interested in spending
some time to improve performance for Slony by tuning the main PostgreSQL
internals, where required.
http://archives.postgresql.org/pgsql-hackers/2006-11/msg00616.php

This was an idea I'd discussed with Jan recently. Slony is not part of
core PostgreSQL, but there's no reason why we can't put hooks in there
that are specifically aimed at increasing performance of replication
systems (e.g. Slony). Slony would work with/without them, but will work
faster with them. So what are these wonderful tweaks? Well, I'm not so
bold as to claim I know these things, hence the question mark in the
title, but I'd like to listen to what these might be and help out where
I can. If we get some suggestions, then those can be taken to
pgsql-hackers, discussed and where possible, implemented in 8.3.

I do have an immediate suggestion that may be of interest to the slony
community. The 8.2 changes to the PostgreSQL sort routines make it
especially important to use the phrase NO SCROLL when defining cursors
with sorts in them. I note that there are a number of cursors declared
in remote_worker.c that could benefit, since no backward FETCHes are
performed. When the size of the sort is larger than work_mem using NO
SCROLL will prevent a final merge step, which would otherwise re-read
all of the data and then write it all again. My understanding is that
would benefit large syncs, so if that is the case, would a patch to
define those be acceptable?

-- 
  Simon Riggs             
  EnterpriseDB   http://www.enterprisedb.com





More information about the Slony1-general mailing list