Christopher Browne
2007-06-28 16:31:46 UTC
The v2.0 branch has already taken on the following fairly significant
changes (listed below). Jan and I had a chat this afternoon about
some items still to do:
I'm working on:
- getting the scripted tests to generate some SQL INSERT statements
summarizing the way the tests went; that would very much ease
collecting data about conformance
- more doc improvements on the removal of TABLE ADD KEY
Jan is looking at:
- Make some of the queries that ultimately determine which sl_log_[12]
data needs to be replicated work better under the condition where a
subscription runs for a very long time
Other items coming along are:
- Improving LISTEN/UNLISTEN logic to be much quieter
- better listen path generation
There's a further "wish list" we're looking at, for which it seems
timely to solicit additions:
- CANCEL SUBSCRIPTION - e.g. - cancel a failing subscription.
- Some mechanism to permit renaming tables and modifying data on the
way in to a subscriber.
- Clone Node - to allow using pg_dump/PITR to populate a new
subscriber node.
Are there more items we should try to add?
$Id: RELEASE-2.0,v 1.3 2007-06-27 15:54:37 cbbrowne Exp $
Differences from 1.2 stream
- Removal of TABLE ADD KEY
- It drops all support for databases prior to Postgres version 8.3.
This is required because we now make use of new functionality in
Postgres, namely the trigger and rule support for session replication
role. As of now, every node (origin/subscriber/mixed) can be dumped with
pg_dump and result in a consistent snapshot of the database.
- Still need alterTableRestore() for the upgrade from 1.2.x to 2.0.
upgradeSchema() will restore the system catalog to a consistent
state and define+configure the new versions of the log and deny_access
triggers.
- Fix EXECUTE SCRIPT so that it records the ev_seqno for WAIT FOR EVENT
and make sure all DDL is executed in session_replication_role "local"
on the origin as well as all subscribers. This will cause the slony
triggers to ignore all DML statements while user triggers follow the
regular configuration options for ENABLE [REPLICA/ALWAYS] or DISABLE.
- Let the logshipping files also switch to session_replication_role =
"replica" or "local" (for DDL).
- Sequence tracking becomes enormously less expensive; rather than
polling *ALL* sequence values for each and every SYNC, the slon
stores the last value, and only records entries in sl_seqlog when
the value changes from that last value. If most sequences are
relatively inactive, they won't require entries in sl_seqlog very
often.
- Change to tools/slony1_dump.sh (used to generate log shipping dump);
change quoting of "\\\backslashes\\\" to get rid of warning
- Cleanup thread revised to push most of the logic to evaluate which
tables are to be vacuumed into a pair of stored functions.
This fairly massively simplifies the C code.
- Revised logging levels so that most of the interesting messages are
spit out at SLON_CONFIG and SLON_INFO levels. This can allow users
to drop out the higher DEBUG levels and still have useful logs.
changes (listed below). Jan and I had a chat this afternoon about
some items still to do:
I'm working on:
- getting the scripted tests to generate some SQL INSERT statements
summarizing the way the tests went; that would very much ease
collecting data about conformance
- more doc improvements on the removal of TABLE ADD KEY
Jan is looking at:
- Make some of the queries that ultimately determine which sl_log_[12]
data needs to be replicated work better under the condition where a
subscription runs for a very long time
Other items coming along are:
- Improving LISTEN/UNLISTEN logic to be much quieter
- better listen path generation
There's a further "wish list" we're looking at, for which it seems
timely to solicit additions:
- CANCEL SUBSCRIPTION - e.g. - cancel a failing subscription.
- Some mechanism to permit renaming tables and modifying data on the
way in to a subscriber.
- Clone Node - to allow using pg_dump/PITR to populate a new
subscriber node.
Are there more items we should try to add?
$Id: RELEASE-2.0,v 1.3 2007-06-27 15:54:37 cbbrowne Exp $
Differences from 1.2 stream
- Removal of TABLE ADD KEY
- It drops all support for databases prior to Postgres version 8.3.
This is required because we now make use of new functionality in
Postgres, namely the trigger and rule support for session replication
role. As of now, every node (origin/subscriber/mixed) can be dumped with
pg_dump and result in a consistent snapshot of the database.
- Still need alterTableRestore() for the upgrade from 1.2.x to 2.0.
upgradeSchema() will restore the system catalog to a consistent
state and define+configure the new versions of the log and deny_access
triggers.
- Fix EXECUTE SCRIPT so that it records the ev_seqno for WAIT FOR EVENT
and make sure all DDL is executed in session_replication_role "local"
on the origin as well as all subscribers. This will cause the slony
triggers to ignore all DML statements while user triggers follow the
regular configuration options for ENABLE [REPLICA/ALWAYS] or DISABLE.
- Let the logshipping files also switch to session_replication_role =
"replica" or "local" (for DDL).
- Sequence tracking becomes enormously less expensive; rather than
polling *ALL* sequence values for each and every SYNC, the slon
stores the last value, and only records entries in sl_seqlog when
the value changes from that last value. If most sequences are
relatively inactive, they won't require entries in sl_seqlog very
often.
- Change to tools/slony1_dump.sh (used to generate log shipping dump);
change quoting of "\\\backslashes\\\" to get rid of warning
- Cleanup thread revised to push most of the logic to evaluate which
tables are to be vacuumed into a pair of stored functions.
This fairly massively simplifies the C code.
- Revised logging levels so that most of the interesting messages are
spit out at SLON_CONFIG and SLON_INFO levels. This can allow users
to drop out the higher DEBUG levels and still have useful logs.
--
output = reverse("ofni.sailifa.ac" "@" "enworbbc")
<http://dba2.int.libertyrms.com/>
Christopher Browne
(416) 673-4124 (land)
output = reverse("ofni.sailifa.ac" "@" "enworbbc")
<http://dba2.int.libertyrms.com/>
Christopher Browne
(416) 673-4124 (land)