21、PostgreSQL 扩展与性能调优

PostgreSQL 扩展与性能调优

技术要求

要进行相关操作,你需要有一个至少配备两个 CPU 和 2GB 内存的 PostgreSQL 服务器,并且能够从 PGDG 仓库和 GitHub 上通过互联网下载 RPM 包。

安装和创建 pg_repack 以在线重建对象

在 PostgreSQL 中,没有单独的 UNDO 存储,UNDO 记录以多版本形式存储在同一个表中。这些 UNDO 记录或死元组可以通过自动清理或手动清理来清除,但除非空页面位于堆的末尾,否则操作系统可能无法回收空间。未调整好的清理设置可能会导致更严重的问题,比如由于数据膨胀,查询可能需要扫描 100 个页面而不是 10 个页面。在这种情况下,唯一的选择就是重建表。虽然可以使用 VACUUM FULL 来重建表,但它会对表加排他锁,不允许对表进行读写操作,这在生产数据库中通常是要避免的。因此,我们可以使用 pg_repack 扩展来在线重建数据库对象,如表格和索引。

pg_repack (https://github.com/reorg/pg_repack)是一个开源扩展,它可以帮助管理员或开发人员执行以下操作:
- 在线重建表(在线 VACUUM FULL
- 在线重建表的索引
- 在线将表或索引迁移到另一个表空间
- 在线对表进行聚类(按聚类索引排序)

准备工作

要使用 pg_repack 在线重建表,表必须在非空列上有主键或唯一总索引(但不能是函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值