digoal
2021-07-21
PostgreSQL , zheap
Cybertec接管zheap引擎后, 最新进展:
详见
https://www.cybertec-postgresql.com/en/postgresql-zheap-current-status/
主要集中在以下几个部分:
- logical decoding, 支持逻辑decoding
- work on UNDO, 已迭代到预计在PG 15会支持的新UNDO infrastructure框架下
- patch reviews for UNDO
- merging codes, 3万行代码.
- countless fixes and improvements
- 支持discard undo接口, 清除undo条目
test=# BEGIN
BEGIN
test=*# CREATE TABLE sample (x int) USING zheap;
CREATE TABLE
test=*# INSERT INTO sample SELECT * FROM generate_series(1, 1000000) AS x;
INSERT 0 1000000
test=*# SELECT * FROM pg_stat_undo_chunks;
logno | start | prev | size | discarded | type | type_header
--------+------------------+------+----------+-----------+------+-----------------------------------
000001 | 000001000021AC3D | | 57 | f | xact | (xid=745, dboid=16384, applied=f)
000001 | 000001000021AC76 | | 44134732 | f | xact | (xid=748, dboid=16384, applied=f)
(2 rows)
test=*# COMMIT;
COMMIT
test=# SELECT * FROM pg_stat_undo_chunks;
logno | start | prev | size | discarded | type | type_header
--------+------------------+------+----------+-----------+------+-----------------------------------
000001 | 000001000021AC3D | | 57 | f | xact | (xid=745, dboid=16384, applied=f)
000001 | 000001000021AC76 | | 44134732 | f | xact | (xid=748, dboid=16384, applied=f)
(2 rows)
test=# SELECT pg_advance_oldest_xid_having_undo();
pg_advance_oldest_xid_having_undo
-----------------------------------
750
(1 row)
test=# SELECT * FROM pg_stat_undo_chunks;
logno | start | prev | size | discarded | type | type_header
-------+------------------+------+----------+-----------+------+-----------------------------------
000001 | 000001000021AC3D | | 57 | t | xact | (xid=745, dboid=16384, applied=f)
000001 | 000001000021AC76 | | 44134732 | t | xact | (xid=748, dboid=16384, applied=f)
(2 rows)
test=# SELECT pg_discard_undo_record_set_chunks();
pg_discard_undo_record_set_chunks
-----------------------------------
(1 row)
test=# SELECT * FROM pg_stat_undo_chunks;
logno | start | prev | size | discarded | type | type_header
------+-------+------+------+-----------+------+-------------
(0 rows)
您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.