2.2.7
- Fix warning with flex 2.6+
- Fix compile errors with PG11
- Fix bug in with regex in 'set add sequence' when
specifying the sequence as a regular expression.
It was not being escaped properly
- Add support to Slonik to specify the share direcotry
using the environment variable SLONY_SHARE_DIR
- Add slon config setting remote_listen_serializable_transactions
to use read committed instead of read-only-serializable deferable
transactions(default true)
- Add slon config setting enable_version_check to disable
the slony version check that ensures all nodes run the
same slony version (default true, version check enabled)
The next bug fix release in the 2.2.x series is now available. This release includes the following
* slonik_build_env can now accept multiple -schema options on the command line
* Support for PG10. This involved changes to PG version detection
* Disallow createEvent and data changes in the same transaction.
* Fix some failover issues when doing a multi-node failover with a cascade node
* Bug 341 - suppress log trigger/deny when running in 'local' mode
* Fix issue when receiving DDL from non origin nodes
This release includes the following bug fixes
* Bug 359 dditional parameter to GetConfigOptionByName() in PG 9.6
* Misc other fixes to compile against PG 9.6
* PG 9.5 makefile fix for win32
* Remove 'unsupported' warning for PG 9.5
Problems found with existing distfiles:
distfiles/D6.data.ros.gz
distfiles/cstore0.2.tar.gz
distfiles/data4.tar.gz
distfiles/sphinx-2.2.7-release.tar.gz
No changes made to the cstore or mariadb55-client distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Fixes to the UPDATE FUNCTIONS for upgrades from releases earlier than 2.2.0
Fixes to the FAILOVER logic
Fixes slon to avoid constant database connection & disconnection
Fixes to CLONE PREPARE processing
* Shared Libraries are now named so as to allow having multiple versions of Slony installed simultaneously on a database cluster
* Let DDL for EXECUTE SCRIPT to be specified inline
* Added a RESUBSCRIBE NODE command to reshape clusters.
* The FAILOVER process has been reworked to be more reliable.
* Major "protocol" change; rather than constructing cursors to query logged updates, version 2.2 now uses the COPY protocol to stream data into log tables on subscribers.
* The first release for Slony-I branch 2.1 has been released, in the form of
version 2.1.0. It is a significant new version, fixing dozens of reported
bugs, and adding some significant enhancements, including:
- Implicit WAIT FOR
- Support for adding tables in bulk
- Support for replicating TRUNCATE
- Health checks at startup
- Performance improvement in cases of large backlog
- Monitoring thread to provide better monitoring data
-Fix: Removing extranous '//' from the perl script.
-Fix: slon can segfault while shutting down.
-Fix: typenameTypeId() changes signatures in 9.1
-Fix: if slon gets confused waiting for its child it will exit.
-Fix: distclean deletes the slony_logshipper flex/bison generated files.
* script syntax error
* Fixed memory corruption issue introduced in 2.0.3 with replicating large rows
* cloneNodeFinish() references the proper column in sl_sequence
* Newer versions of flex have changed yyleng from an int to a size_t
instead of referencing the extern yyleng directly we use the function
yyget_leng() and have added a configure check to confirm that the version
of flex we use is not too old.
* Memory leak fixes
* Various documentation fixes
* cloneNodeFinish() called updateRelOid() that ws looking at wrong tab_id
sl_sequence but the column is named seq_id.
* Fixed mistyped variable name in ShouldSlonyVacuumTable
* PostgreSQL 8.4 has been released; slonik needs to explicitly recognize it
* Add in slonikconfdump.sh tool, which generates a slonik script to duplicate
the configuration of a Slony-I cluster
* Significant fixes to documentation to reflect 2.0 changes
* Add "OMIT COPY" option to the Slonik "SUBSCRIBE SET" command
* Document process for Slony-I 2.0 upgrade using OMIT COPY option
* Fix to race condition where file descriptor copies were being made at
the wrong time in the scheduler
* Modify "testseqnames" regression test to create a whole bunch of
sequences to validate that things don't break down with either lots of
them, or where IDs are large numbers
* Change minimum debugging level to -1 to allow suppressing logging
* Bug 92 - compression of event numbers had a bug where events >
2^31-1 would overflow the "int" value
* Autovacuum handling changes in PostgreSQL 8.4 - we pull metadata
from pg_class.reloptions, instead of pg_autovacuum
* logswitch fix resolving a potential data loss + statement blocking bug...
* Add LOG_NAME_SUFFIX to altperl tools
* PostgreSQL 8.4 compatibility
* Fix - config dump was failing on string entries that were NULL
* Fix - REPAIR CONFIG could have collisions where, when we
load a schema, one entry in sl_table already has an OID value
that incorrectly matches a value that another update is trying to fix.
* Updated release notes to indicate that 2.0 only supports PostgreSQL 8.3+
* Change to configure.ac to allow it to run on autoconf 2.63; there was
something unsuitable about SLONREL_VERSION processing
* Fixes to Makefile for admin guide
* Various fixes to admin guide material
* Added an extra test to Schema name test that validates that things
can operate properly even if the DB lacks a "public" schema
* Fixed bug in tools/start_slon.sh
* Fixed pathname substitutions in a couple of altperl scripts
* Add a test which validates that the cluster schema name is valid;
pgAdminIII allowed setting up cluster names that slonik would refuse
to connect to.
* Revised regression tests to use SYNC/WAIT FOR EVENT instead of
queries that try to coordinate sl_status information with rather
less determinacy...
* Cleanup thread was generating spurious error messages due to
misinterpreting PG return codes. Rectified this, and added a
test in to make sure we're exercising the logic
* Fix to STORE TRIGGER - store trigger was running against all nodes
upon subscription
* Portability changes to some tools/ scripts, fixing some
"bash-isms"
* Fix to switch statement in slonik.c; unknown how it broke
* Fix memory leak
- Fix typo in configure-replication.sh (missing CR)
- Per bug 35, search the Slony share dir for scripts
before falling back to the PG share dir on 8.0+
- Change test framework to write out the test name into
$TEMPDIR/TestName
- Patch that seems to resolve a race condition with
ACCEPT_SET
- Fix bug 49 - mishandling by slony_logshipper of quotes &
backslashes.
- Fix bug 50 - slony_logshipper had a variable access *after*
memory was freed
Changes 1.2.13:
- Fixed problem with compatibility with PostgreSQL 8.3; function
typenameTypeId() has 3 arguments as of 8.3.
- Added in logic to ensure that max number of SYNCs grouped together is
actually constrained by config parameter sync_group_maxsize.
- Fix to show_slony_configuration - point to proper directory where
slon/slonik are actually installed.
- Fix to slonik Makefile + slonik.c - Change slonik build to query
Postgres for the share directory at runtime - per Dave Page
- Removed spurious NOTIFY on "_%s_Confirm"; this is no longer needed
- Fixed problem with DDL SCRIPT parser where C-style comments were
not being processed properly
- Added stored functions and documentation for adding empty tables
(notably *partitions*) to replication. Note these functions
do no work when not specifically requested.
- Added a fairly substantial partitioning test to exercise the
new stored functions above.
- Backport "listen path" generator function from CVS HEAD (2.0) to
1.2 branch.
- Fixed a problem with "EXECUTE SCRIPT" (introduced in remote_worker.c
version 1.124.2.13) where moving the relevant code into a subroutine
at the end led to losing the "BEGIN; SET TRANSACTION ISOLATION LEVEL
SERIALIZABLE;" query that needs to be the first thing run...
- Fixing the archive sequence generations (in log shipping). All
non-SYNC events must start the local transaction before creating the
archive as well, so that the lock on the archive counter table
serializes archive creation.
- Fixed logging done in local_listener.c - various places, there was
no '\n' in some cases, which would lead to entries being folded
together.
- Fix launch_slons.sh - was not stripping quotes from PID file name
- Error handling for "ERROR: could not serialize access due to
concurrent update"
- Fixes to slonik_build_env script - it wasn't properly handling
cases where there was just 1 table or 1 sequence, and had a
problem with the -schema option - thanks, Bernd Helmle
It has a support for newer PostgreSQL versions, also various
improvements and bugfixes. Details could be found in the
RELEASE-1.2.{0-9} files of the source package.
Reviewed by joerg@
- A major revision of memory management to limit memory usage by slon
daemons.
- Log switching: periodically
- pg_listener is now used dramatically less than it used to be, which
diminishes the number of dead tuples you will find in this table.
- DDL scripts are broken into individual statements
- Slony-I tables are now marked "WITHOUT OIDS" so that they do not
consume OIDS.
- When possible (based on log switching functionality), partial
indexes on sl_log_1 and sl_log_2 are created on a per-origin-node
basis.
- More...
and failover.
The big picture for the development of Slony-I is a master-slave system that
includes all features and capabilities needed to replicate large databases to
a reasonably limited number of slave systems.
Slony-I is a system for data centers and backup sites, where the normal mode
of operation is that all nodes are available