Crunchy Data 很高兴地宣布发布 pg_partman 4.2.0,这是开源分区管理 PostgreSQL 扩展的最新版本。
pg_partman 4.2 添加了对 PostgreSQL 12 的初步支持,并对分区集中 UNLOGGED
表的管理方式进行了重要更改。
pg_partman 是一个 PostgreSQL 扩展,可帮助您管理时间序列和基于序列的表分区集,包括自动管理分区创建和运行时维护。pg_partman 与 PostgreSQL 10 中引入的本地分区一起使用,因此用户可以从显着的性能增强中受益。
您可以按照 README 中的说明安装 pg_partman,或使用您选择的首选软件包管理器。
pg_partman 已添加对 PostgreSQL 12 的初步支持,并在 PostgreSQL 12 发布后将放弃对 PostgreSQL 9.4 的支持。
从 PostgreSQL 12 开始,pg_partman 将不再支持继承 OID,因为此特殊列行为已被删除。
本地分区中分区集的 UNLOGGED
状态现在由模板表而不是父表管理。
目前在 PostgreSQL 中,将本地分区的父表设置为 UNLOGGED
/LOGGED
不是可以使用 ALTER TABLE
更改的属性。如果随后在父表上更改了 UNLOGGED
/LOGGED
的状态,则不会将其传递给新的子表。
如果您认为您的子表受到此影响,则必须手动修复它们。如果您的任何本地分区集为 UNLOGGED
,请确保在升级到此版本之前在模板表上设置此属性。
pg_partman 将保持此行为,直到 PostgreSQL 确定处理 UNLOGGED
更改的明确方式。有关更多信息,请参阅:https://postgresql.ac.cn/message-id/flat/15954-b61523bed4b110c4%40postgresql.org
ANALYZE
的维护后台工作程序的默认选项已更改为 false。如果需要此功能,请在 postgresql.conf 中将选项 pg_partman_bgw.analyze
设置为 true。part_config(_sub)
表中添加了新的配置选项 constraint_valid
,以控制 pg_partman 可以管理的其他约束是否以 NOT VALID
状态添加。默认情况下,约束会像以前一样添加为 VALID
。请注意,如果此配置更改为 false
,则在验证约束之前,约束排除将不起作用。pg_class.relhasoids
列而阻止 pg_partman 在 PostgreSQL 12 中创建子表的错误create_parent()
正确抛出错误。以前,它不会报告任何错误,但也不会将正确的数据添加到 part_config
表中,因此未来的维护将无法工作。Crunchy Data 很荣幸支持 pg_partman 的开发和维护。