Quantcast
Channel: OSCHINA 社区最新新闻
Viewing all articles
Browse latest Browse all 44787

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

$
0
0

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

下载地址:


Viewing all articles
Browse latest Browse all 44787

Trending Articles