Skip to content

Files

Latest commit

Dec 15, 2023
f400df2 · Dec 15, 2023

History

History
99 lines (70 loc) · 4.17 KB

20210721_01.md

File metadata and controls

99 lines (70 loc) · 4.17 KB

PostgreSQL zheap 引擎最新进展

作者

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热门书籍等,奖品丰富,快来许愿。开不开森.

digoal's wechat