红联Linux门户
Linux帮助

Postgres BDR 1.0发布,消除UDR组件支持

发布时间:2016-08-13 08:54:26来源:红联作者:pocheng
Postgres BDR 1.0 发布了,该版本基于PostgreSQL 9.4.9,本次发布也包含一些性能提升,DDL相关改进,序列化改进,消除UDR组件的支持。

一些提升:

improvements to DDL locking to reduce its operational impact by allowing write transactions a grace period before cancellation, blocking new write transactions instead of ERRORing, and allowing many DDL operations to avoid blocking row writes at all

the removal of UDR

a fix for dropped column handling when cloning new nodes via bdr_node_join

global sequence improvements to improve behavior when rapidly consuming sequence values

改进记录:

Fix handling of dropped columns during logical node init to prevent "tuple natts mismatch" errors (git 9323f3, #113, #114)

Remove UDR

Wait up to a minute for new sequence values from an exhausted global sequence before ERRORing (git f7e9b4)

Don't acquire global DDL lock for non-schema-qualified temp table DROPs (#124)

Add a grace period before killing all write transactions when acquiring DDL lock, configured by bdr.max_ddl_lock_delay (git 0e02cc27, 91a0d2505)

Make DML wait when DDL lock held, instead of ERRORing (git b754c0c4)

Add a DDL-lock-specific timeout, bdr.bdr_ddl_lock_timeout (git 91a0d2505)

Add a new DDL lock type that only blocks other DDL, not DML (insert/update/delete) (git 10b331fe, 6d2a09fb)

Cache more values for global sequences, make cache size configurable with cache_chunks reloption (git 071e94)

Ensure sequence cache is never re-used after physical node copy (#101)

Increase default sequence chunk size to 10k (git ff0726)

Expand node part/join sanity checks and error messages (git 6c58df and others)

Permit DML on pg_catalog tables (#102)

Create BDR's internal TRUNCATE triggers as internal triggers (git 0c96b9ff, #62)

Apply workers notice replication set changes and DSN changes without manual termination/restart (git 7faf648e)

Make bdr_apply_resume() take immediate effect (git 72eb77)

Ignore dangling bdr_connections rows without a corresponding bdr_nodes entry (git 509848, #50, #97, #126)

Don't acquire the global DDL lock when creating or dropping indexes on temporary tables (git aebd93, courtesy of Michael Allen)

Fix crash on insert into a table with an expression index (git 06f52b, courtesy of Abdul Yadi)

Make bdr_supervisordb checks less strict to fix vacuumdb -a and other tools (git dba912, #154)

Group multiple replicated TRUNCATEs into a single command to fix TRUNCATE with foreign keys or TRUNCATE CASCADE (git fcdf1b, #48)

Add management functions for connection replication sets

Add low level apply/replay tracing via bdr.trace_replay (git 4feb4004b, #185)

Add DDL lock tracing/logging via bdr.trace_ddl_locks_level (git beee79dd4)

Allow specification of connection options for all BDR connections with bdr.extra_apply_connection_options (git 491f5e90a, #173)

Enable TCP keepalives by default on apply worker (#173)

Backport access to 'pid' and 'confirmed_flush_lsn' columns of pg_replication_slots from 9.5 and 9.6 via new bdr.pg_replication_slots view (#186).

Add functions to terminate apply and walsender workers (bdr_terminate_walsender_workers and bdr_terminate_apply_workers)

Add a function to allow BDR workers to skip over changes (#181)

Add functions to control replication sets configured for a connection

Add a function to completely remove BDR from a node, bdr.remove_bdr_from_local_node()

Extensive documentation updates

下载地址:https://github.com/2ndQuadrant/bdr/archive/bdr-plugin/1.0.0.tar.gz

来自:开源中国社区
文章评论

共有 0 条评论