暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL表膨胀处理办法

IT那活儿 2025-05-23
160

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!


  
问题背景:
在postgresql数据库中经常会碰到表膨胀的问题,常见的情况表膨胀会影响sql的性能,并会占用大量的空间,频繁的更新和删除操作会导致表中出现大量的dead_tuple从而导致表膨胀问题的出现。



插件安装

1.1 安装pg_repack工具

解压pg_repack安装包:

1.2 编译安装配置

编译之前确认pg库的环境变量是正确的。

1.3 安装插件


处理过程

2.1 创建测试表并测试数据

可以看到表在delete大量数据后,空间并没有释放。

2.2 通过pg_repack工具进行处理

2.3 查看处理后的结果

大小已经从42MB下降到30MB。


问题分析处理

3.1 安装遇到的报错

make[1]: /opt/rh/llvm-toolset-7/root/bin/clang: Command not found

3.2 处理办法

关闭新增插件的bc编译项来解决,注释所有with_llvm相关即可。

vi /app/pg/pg_81_18801/postgresql/lib/postgresql/pgxs/src/makefiles/pgxs.mk


END


本文作者:饶茂林(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论