小编And*_*nic的帖子

Postgres 长时间自动清理停止数据库

我有一个相当大的表(100 万行),我的数据库卡在这个表上的自动清理(> 30 分钟)上,导致整个数据库阻塞。应用程序现在甚至不会加载。

-00:37:31.137859 autovacuum: VACUUM public.users
Run Code Online (Sandbox Code Playgroud)
SELECT n_tup_del, n_tup_upd FROM pg_stat_all_tables WHERE relname = 'users';
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

这些是我的用户表上的 autovacuum 设置:

-00:37:31.137859 autovacuum: VACUUM public.users
Run Code Online (Sandbox Code Playgroud)

我从慢 PostgreSQL 性能中使用的这些建议设置?不要忘记清空你的数据库

我只需要等待吗?我有哪些选择?

更新

我已升级到 Postgres 9.5,并将我的 RDS IOPS 增加到 900,并且真空过程仍然使 IOPS 达到最大值并且无法对数据库执行任何其他操作。该过程在升级前 1 天的某个时间点运行。

我还删除了我拥有的自定义 autovacuum 设置,现在只使用默认设置。

以下是这些查询结果的附件;

SELECT * FROM pg_stat_activity;
SELECT * FROM pg_stat_database;
SELECT * FROM pg_stat_user_tables;
SELECT * FROM pg_stat_user_indexes;
SELECT * FROM pg_locks;
Run Code Online (Sandbox Code Playgroud)

http://www.filedropper.com/output_5

postgresql aws postgresql-9.5 autovacuum

8
推荐指数
1
解决办法
3890
查看次数

标签 统计

autovacuum ×1

aws ×1

postgresql ×1

postgresql-9.5 ×1