科学健康资讯 · 内容仅供参考,不替代专业诊疗 联系我们|疾病百科
操作系统

sql 挂起(安装SQL挂起)

2023-06-06 操作系统 本文链接

EDB (EnterpriseDB)公司,正在为Postgresql数据库开发全新的存储引擎。zheap(一种新的 PostgreSQL 存储格式)。这种新的存储格式可以更好地控制膨胀,减少元组大小并减少写入放大。

我如何使用 zheap?

我们提供了一个存储引擎选项,您可以在创建表时设置该选项。例如:

创建表 t_zheap(c1 int, c2 varchar) 使用 zheap;

zheap 表的索引创建不需要任何特殊语法。

您还可以设置 GUC 参数 default_table_access_method。默认值为“heap”,但您可以将其设置为“zheap”。如果这样做,所有后续创建的表都将使用 zheap。

一旦将存储格式 API 工作集成到 PostgreSQL 中,这些接口可能会发生变化。我们将调整此代码以使用 PostgreSQL 社区同意的任何接口。

每个 zheap 页面都有一组固定的交易槽,每个槽都包含交易信息(交易 ID 和纪元)和该交易的最新撤消记录指针。默认情况下,我们每页有四个事务槽,但这可以通过在配置 zheap 时设置 --with-trans_slots_per_zheap_page=value 来更改。

什么还不行?

逻辑解码

快照太旧 - 我们可能希望在提交第一个版本后实现这一点,因为这对于 zheap 的工作方式有所不同。

Alter Table <table_name> Set Tablesapce <tbs_name> - 为了使这个功能在 zheap 中正常工作,在复制页面时,我们需要确保在复制页面之前应用挂起的中止。

工具

pg_undo_dump 类似于 pg_wal_dump:我们想开发这个实用程序,因为它可以用来查看撤销记录的内容,并且可以帮助我们调试与撤销链相关的问题。

我们还希望开发诸如 pgstattuple、pgrowlocks 之类的工具,使我们能够在低级别检查数据库页面的内容。

wal 一致性检查器:这将用于检查 WAL 重做例程中的错误。目前,它与我们在当前堆中的非常相似,但我们希望扩展它以检查撤消页的一致性,类似于检查数据和索引页的方式。

开放式问题

目前,即使 TPD 页面可以完全重用,它们也不会添加到 FSM。

单用户模式:这需要调查到底需要什么。我认为我们需要确保在不需要调用 undo worker 的情况下应用撤消。

本文内容仅供健康科普参考,不能替代专业医疗诊断和治疗建议。如有身体不适,请及时就医并遵从医师指导。

相关阅读