智能化下的产物,无人棋牌室
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
下载地址: