问题标签 [autovacuum]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - Postgresql: Autovacuum partitioned tables
We have a very large table that was partitioned into monthly tables. We have no autovacuum parameters set in the postgresql.conf file, so it's on by default with default parameters.
The past months tables table_201404, table_201403 do not get written to or updated/deleted once they are passed, they are only read from for historical data. Why is it that we are noticing autovacuum processes running on these tables? Is it because they are part of a main partition and PostgreSQL is seeing those tables as one?
We are toying with the idea of setting autovacuum_enabled to off for these past tables, but I wanted to consult the wisdom of Stackoverflow first.
Thanks all...
postgresql - 在 PostgreSQL 中为表启用 autovacuum 是否安全
PostgreSQL
我是(版本 9.2)数据库开发的新手。在查看我的一张桌子时,看到了一个名为autovaccum
.
我的许多表包含 20000 多行。出于测试目的,我更改了其中一个表,如下所示
- 所以,我想知道自动清理桌子的好处/优点/缺点(如果有的话) ?
postgresql - 如何防止 Postgres 中的表自动清空
我有大表,我只有插入和选择,所以当这个表的 autovacuum 运行时 - 系统非常慢。我已经关闭了特定表的 autovacuum:
在此之后(一段时间后)我看到:
我做了什么shell来切换这个表的自动清理?
postgresql - 如何确保 autovacuum 不会阻塞 dropdb?
标题基本上是这样说的。如果 autovacuum 处于活动状态,运行dropdb
似乎会失败。我目前正在使用vacuumdb --full x && dropdb x
作为解决方法(我假设在完全真空运行之后,如果数据库没有被修改,那么真空将不会被激活。)但是这显然不是很有效,因为我不需要我需要的数据库删除要清理。
我不确定,但似乎 autovacuum 通过postgres
用户运行,因此可以使用https://dba.stackexchange.com/questions/11893/force-drop-db-while-others-may-be-connected- in-postgresql在真空运行时将其踢出。
不过,还有更好/更简单的方法吗?
postgresql - PostgreSQL:如何启用 autovacuum?
如何在 PostgreSQL 中启用 autovacuum?我了解目的,我只是找不到有关如何启用它的简单答案。
postgresql - 运行 autovacuum 的 reloptions 中的默认值是什么?
我已经检查了 Postgres 服务器中的表格。
我猜想返回数据是"autovacuum_enabled = true"
但返回数据是null
。
此表有真空日志运行 autovacuum。
默认 reloptions 为 null 但 autovacuum_enabled = true?
ruby-on-rails - Postgresql,Rails - 无法分叉 autovacuum 工作进程:资源暂时不可用
这发生在我的本地环境 Mac OSX 中,每次我启动我的服务器 - puma - 和工人 - resque 时。
日志没有说任何有用的信息,只是重复说“无法分叉 autovacuum 工作进程:资源暂时不可用”。
直到我将 ctr-c 关闭服务器,它才会锁定我的整个计算机。当我尝试在浏览器中访问一个站点时,它只是挂起,当我在终端中打开一个新选项卡时,它会显示“管道损坏”并关闭它。MAC控制台没有吐出任何有用的东西,至少据我所知。
任何人有任何想法为什么会这样?
我已经多次重新启动 Postgres 无济于事。
编辑:
日志刚刚开始吐出,“日志:无法创建新的连接进程:资源暂时不可用”
彪马线程数:
threads_count = ENV.fetch("RAILS_MAX_THREADS") { 10 }.to_i
D B:pool: 100
编辑2:
试图将 max_connection 计数从 100 增加到 200,仍然没有。遇到重复的 postmaster.id 错误。删除它,重新启动 Postgres,但仍然存在相同的问题 - 尽管清除了 postmaster.id 错误。
postgresql - 大表的 Autovacuum 耗时太长
我将 9.4 的 postgresql 集群升级到了 9.6。(通过 pg_upgrade,所以我的数据库统计信息没有移动到新集群)我有一个大表(大约 450M 记录)。该表在我的代码中被大量使用(选择多,更新插入少)。当我启动我的 postgres 服务时,Postgres 会自动启动 autovacuum,它会锁定我的桌子。所以我无能为力:既不截断表格也不手动分析它。我试图在我的配置文件中设置 autovacuum=off,但它没有帮助(为什么?!我当然重新启动了服务器)
更新:我的目标是尽快开始使用该表。截断会有所帮助(因为表将是空的),分析应该会有所帮助(Postgres 将开始使用正确的索引)
最快的方法是什么:1)截断表格或 2)分析表格?任何帮助将非常感激。
更新: 这是查看锁的查询的输出:
当我从我的 psql 控制台分析表并查看来自 pg_stat_activity 的数据时:
如果我正确理解,我的 VACUUM ANALYZE 会锁定表,而我的手动 ANALYZE 任务会被锁定。(那正确吗?)
postgresql - pg_toast 表在 autovacuum 后没有减小
我在 Postgresql 9.3 上。
我有一个巨大的 pg_toast 表,pg_toast_675632
占用 27 GB。
除非我有误解,否则它pg_toast_675632
是如此之大,因为我json
在数据表中有一个大的列pg_toast_675632
与my_table
. 所以我大量简化了 json my_table
(即从 100 个元素的 json 到 2-5 个元素)。但是,在 autovacuum 之后pg_toast_675632
仍然是 27 GB。这是因为 autovacuum 不会将回收的空间返回到磁盘吗?请参阅此链接中 23.1.2 的第 3 段。
- 那么根据上面链接中的文档,我需要手动运行
VACUUM (FULL) pg_toast_675632
吗?
我知道这VACUUM (FULL)
需要很长时间,并且会在pg_toast_675632
此期间锁定 from 写入。
- 有哪些风险
VACUUM FULL pg_toast_675632
?这是否等同于锁定my_table
,因为这pg_toast-675632
是相关的?
postgresql - PostgreSQL 清理一张大表
我有 Postgres 9.4.7,我有一个大表 ~100M 行和 20 列。表查询是每分钟 1.5k 次选择、150 次插入和 300 次更新,但没有删除。这是我的自动真空配置:
autovacuum_analyze_scale_factor 0
autovacuum_analyze_threshold 5000
autovacuum_vacuum_scale_factor 0
autovacuum_vacuum_threshold 5000
autovacuum_max_workers 6
autovacuum_naptime 5s
在我的情况下,数据库几乎总是处于真空状态。当一个吸尘会话结束时,另一个开始。
所以主要问题是:有没有一种常用的方法来清理大桌子?
这里还有一些其他问题。
标准真空不扫描整个表,“分析”只扫描 30k 行。所以在相同的负载下,我应该有一个恒定的执行时间,是真的吗?我真的需要分析表格吗?频繁的“分析”能否对大表的查询计划进行任何有用的更改?