Release Notes

2.0.1

(June 7, 2017)

2.0.1 is a minor update that fixes important bugs including:

  • Fixed upgrades from 1.2.2
  • Fixed data synchronization for table with column names which require quoting (because they use keywords)
  • Small memory management improvements

2.0

(May 4, 2017)

The pglogical 2.0 release brings new features allowing it to be used in for even more use-cases and also several bug fixes and behavior improvements, including:

  • Row filter - specify SQL expression which should be used on upstream to filter rows for replicated table
  • Column filter - specify list of columns that should be replicated, this allows replication of just some columns from a table
  • Windows support - pglogical can be now used with PostgreSQL running on Windows as both provider and subscriber (has to be built from the source at the moment)
  • Delayed replication - it’s now possible to set delay for how long behind the downstream should be when replicating data
  • Postgres-XL support - Postgres-XL can become a pglogical subscriber, which means you can replicate from PostgreSQL to Postgres-XL directly
  • New command line tool pglogical_create_subscriber which can convert physical standby (or base backup) into pglogical subscriber
  • Performance improvements for applying transactions containing many INSERTs (including transactions that did large import using COPY)
  • Improved behavior of TRUNCATE, especially the TRUNCATE triggers
  • Users executing DDL in database no longer need USAGE privilege on pglogical schema
  • Fixed reporting of false positives on UPDATE conflicts
  • Log level for conflicts can now be changed
  • JSON protocol now works correctly with toasted columns
  • Table truncation by pglogical.alter_subscription_resynchronize_table made optional
  • Truncate triggers are now only added to tables that are part of replication set
  • The pglogical and pglogical_output libraries were merged together
  • Add use_spi configuration parameter which changes pglogical replication to use SQL queries instead of low level API to apply changes
  • Improved internal depencency tracking
  • Don't require CASCADE because of internal triggers when dropping pglogical extension
  • Default to system or environment temporary path for storing temporary files instead of hard coded '/tmp'
  • Don't report crash on some forms of normal shutdown
  • Fix VPATH builds
  • Fix initial data copy when the order of columns is different or when there are more columns on the subscriber

1.2.2

(January 4, 2017)

This is a maintenance release that fixes important bugs, most notably: 

  • Fixed the "ERROR: tuple natts mismatch, n vs m" when DROP COLUMN was mixed with DML changes within same transaction
  • Fixed ERROR during timestamp based conflict resolution on already frozen tuples
  • Fixed internal index corruption which manifested as apparently missing tables in publication

1.2.1

(October 14, 2016)

This maintenance release follows closely at the heals of 1.2 with some critical bug fixes and improvements, including: 

  • Fixed initial schema synchronization on 9.4
  • No longer require cascading to know about all nodes (cascading setups are now straightforward)
  • Improve error message on 'snapshot too large'
  • Debian packages for different postgres versions don't conflict anymore

1.2

(October 4, 2016)

There have been several enhancements and bug fixes in this major release. In addition to a change in the way the output plugin and apply plugin are handled, some of the important feature updates and changes in this release include:

  • keepalive tuned to much smaller values by default so that pglogical will notice network issues earlier
  • Better compatibility when upgrading from PostgreSQL 9.4 - it's now safe to use the internal schema synchronization for that
  • Improved conflict handling
  • Improved support for replica triggers
  • Several issues with initial synchronizations fixed
  • Easier monitoring of the initial synchronization in pg_stat_replication

There are also several documentation improvements.

1.1.2

(June 10, 2016)

This is a hotfix release which fixes a severe issue with replication of TOASTed values. We strongly recommend an upgrade. The changes in this release include:

  • Fix UPDATE replication of rows containing TOASTed values. The TOASTed values were changed to NULL if they haven't been changed by the UPDATE command.
  • Fix compatibility with Postgres 9.4
  • Always use PGXS for compiling from sources
  • Release LWLocks acquired by pglogical_drop_node
  • Subcribe default replication sets when no set was specified when doing the physical node initialization (pglogical_create_subscriber command line utility)
  • Fix potential crash in trigger discovery on subscriber

1.1

(May 2, 2016)

The 1.1 release brings new features along with bug fixes to pglogical. Same salient features are listed below: 

  • Sequence replication support
  • Support for replica triggers
  • Foreign keys are no longer checked on the replica
  • Multiple subscriptions between single pair of nodes
  • The create_subscription function does not synchronize structure change by default
  • User can specify affected replication sets in replicate_ddl_command function
  • New functions for manipulating connection strings of nodes
  • PGLogical processes are clearly marked in the pg_stat_activity
  • Better behavior on worker crashes
  • Logging improvements
  • Ubuntu Xenial package

1.0.1

This hotfix closely follows on the heels of the first release of pglogical, fixing some critical bugs found during our internal testing and as feedback from users in the field. The list below captures some of the important bug fixes included in version 1.0.1: 

  1. Fixed crash on multi-column primary keys
  2. Moved the DDL commands enqueued by pglogical.replicate_ddl_command to new predefined replication set called ddl_sql
  3. More predictable application_name for easier monitoring and setup of synchronous replication using the standard synchronous_standby_names configuration parameter
  4. Various fixes in documentation
  5. Fixed compatibility with some other extensions (e.g. pg_sslstatus)
  6. Fixed crash in origin tracking in cascaded setups
  7. Improved compile-time compatibility with 9.5 PGDG Debian packages
  8. Fixed relcache invalidation on the subscriber
  9. Fixed hanging synchonizer backround worker after individual table was added to replication and synchronization has finished
  10. Made the tests work correctly for cross-version installations

Stay in touch with us

Subscribe to our monthly newsletter to hear the latest developments from 2ndQuadrant and related technologies.

We’ll also send you any important news or updates that we think you’ll find useful.

We value your privacy and will not pass your details on to anyone else.