postgres vacuum row is too big

简介: postgresql vacuum row is too big

晚上11点左右,朋友电话我,说他们公司PG有点问题,登录上去看了PG(9.2.4)日志报错如下(配置文件中有开autovacuum):
2016-08-05 23:47:32.839 CST,,,41181,,57a4b514.a0dd,2,,2016-08-05 23:47:32 CST,,0,WARNING,01000,"database with OID 16384 must be vacuumed within 999409 transactions",,"To avoid a database shutdown, execute a database-wide VACUUM in that database.
You might also need to commit or roll back old prepared transactions.",,,,,,,""

如是进入到单用户执行如下操作:
pg_ctl -m f stop -D $PGDATA
postgres --single lockdb -D $PGDATA
backend> vacuum full;

操作到vacuum full报错如下:
WARNING:  database "lockdb" must be vacuumed within 999238 transactions
HINT:  To avoid a database shutdown, execute a database-wide VACUUM in that database.
You might also need to commit or roll back old prepared transactions.
ERROR:  row is too big: size 235728, maximum size 8160
STATEMENT:  vacuum full;

改用vacuum freeze报错如下:
backend> vacuum freeze;
\ERROR:  failed to re-find parent key in index "user_checkin_user_id_idx" for deletion target page 902154
STATEMENT:  vacuum freeze;

如是打算dump user_checkin表,后删除索引,报错如下:
pg_dump: Dumping the contents of table "user_checkin" failed: PQgetResult() failed.
pg_dump: Error message from server: ERROR:  invalid memory alloc request size 18446744073709551613
pg_dump: The command was: COPY public.user_checkin (id, user_id, active_date, last_login_date, update_date, update_flag, product_code, kernel_code, product_ver, product_ver_num, opt_update_num) TO stdout;

当时PG的数据库大概470G左右,其中索引user_checkin表索引就占了130G。如是和朋友商量后,删除索引和重建索引,时间太长,打算清空user_checkin表,清空user_checkin表后,PG数据大小100G左右,然后在执行上面的vacuum操作,PG数据大小为86G,重启PG后,一切正常。



目录
相关文章
|
开发框架 Unix Linux
深度探索:Qt CMake工程编译后的自动打包策略
深度探索:Qt CMake工程编译后的自动打包策略
965 0
|
6月前
|
传感器 数据采集 监控
[开源免费]基于STM32的心率监控仪 —— 从原理到实现的完整技术解析
本文详解基于STM32的心率监控仪设计,涵盖硬件搭建、ADC采样、峰值检测算法及OLED波形显示。采用STM32F103C8T6与PulseSensor实现心率实时监测,支持报警提示与按键交互,适合嵌入式入门与课程实践。
|
8月前
|
人工智能 运维 数据可视化
AR巡检轨道交通、地铁运维场景的应用技术方案|阿法龙XR云平台
基于AR眼镜与云端协同架构,融合YOLOv8算法与高精度数字孪生,实现地铁车辆智能巡检。支持可视化标记、自动缺陷识别、离线巡检同步及多维数据分析,覆盖计划制定、执行记录到报表输出全流程闭环管理,提升巡检效率与准确性。
|
3月前
|
人工智能 安全 API
OpenClaw(Clawdbot)保姆级实战宝典:阿里云+本地部署流程+Coding Plan配置及8大应用场景测评
2026年开年以来,开源AI智能体项目OpenClaw(原名Clawdbot/Moltbot)在币圈与科技圈持续掀起热潮,GitHub星标一度飙升至18万+,其衍生的Moltbook AI论坛更是上演了十余万AI智能体自发组建“数字宗教”、推选43位AI先知的科幻场景。与传统聊天机器人不同,OpenClaw实现了从“建议者”到“执行者”的跨越,凭借高系统权限、24/7持续运行能力成为新一代“数字员工”,而2026年阿里云对其的深度适配,以及全平台本地部署方案的完善,更是让这款工具的应用边界进一步拓宽。本文将深度解析OpenClaw的核心能力与8大最佳应用场景,同时带来2026年阿里云部署、Ma
1263 3
|
5月前
|
存储 弹性计算 安全
2026 年阿里云盘企业版(CDE)收费标准与核心功能解析
阿里云盘企业版(Cloud Drive for Enterprises,简称 CDE)是基于阿里云存储能力打造的企业级云存储服务,主要面向企业文件管理、团队协同与数据备份场景,采用 “存储容量 + 用户数” 的套餐化计费模式,2026 年延续差异化优惠定价,覆盖从中小团队到大型企业的多元需求。本文结合官方最新标准,详解其收费体系、核心功能及适用场景,为企业选型提供客观参考。
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
680 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
|
数据采集 人工智能 自然语言处理
魔搭社区每周速递(1.5-1.18)
🙋魔搭ModelScope本期社区进展:新增3239个模型,711个数据集,192个创新应用, 16篇内容
865 11
|
机器学习/深度学习 算法
|
调度 Windows Python
windows计划任务的“等待空闲时间”已弃用
【8月更文挑战第19天】若Windows的“等待空闲时间”已弃用,可用这些策略替代:1) 定义特定触发时间,如设定在每日固定低峰时段执行任务;2) 设置重复任务间隔,模仿空闲检测效果;3) 使用第三方调度软件,依据资源使用情况智能调整执行时机;4) 透过PowerShell等脚本监测性能指标来触发任务;5) 根据任务重要性调整优先级,并优化任务以降低资源消耗。
703 9
|
机器学习/深度学习 数据采集 自然语言处理
智能文档处理技术综述
【8月更文挑战第7天】智能文档处理技术综述:通过OCR将图像转为文本,NLP理解文档内容,结构分析识别布局,信息抽取提取关键数据。广泛应用于企业自动化、金融、医疗及政务服务,面对多样格式、语言复杂性和数据质量等挑战,未来将融合深度学习、提升多语言处理并集成其他先进技术,以满足全球化需求并确保安全可靠。
732 2