vacuum

Postgres RDS 实例的 AWS 副本是否需要独立于其主实例进行 Vacuum 和 Analyze?
vacuum

Postgres RDS 实例的 AWS 副本是否需要独立于其主实例进行 Vacuum 和 Analyze?

假设我没有使用逻辑复制...... 我不清楚低级复制如何与其他低级操作交互,例如真空和分析。 我不清楚副本是否倾向于成为主服务器的块级副本,主服务器上的 vacuum 所做的更改会复制到副本上。或者副本是否更负责自我维护。 背景 我们有一个 RDS 实例,其容量每年增长约 2 TB。今天我们注意到一些现有查询运行非常缓慢。 当一个非常大的表上的查询发生突然变化并且该变化非常持续地增长时,我的第一反应是检查代码变化,其次是检查表统计信息。 但这表明我在真空/分析方面的知识存在差距。 ...

Admin

对符合特定条件的所有表运行 VACUUM
vacuum

对符合特定条件的所有表运行 VACUUM

我有一个包含 100 多个表的大型数据库。其中一些表太大,以至于对它们运行 VACUUM 需要几个小时,所以我不想在这些表上运行它。有没有办法使用动态表列表运行 VACUUM,即如下所示? VACUUM (SELECT table_name FROM information_schema.tables WHERE table_name not in ['list', 'of', 'big', 'tables']) 当然,可以手动列出所有表名,但理想情况下,我希望有一种动态地完成此操作的方法。 ...

Admin

Vacuum Full 无法删除文件,因为磁盘已满,剩余 5g 可用空间
vacuum

Vacuum Full 无法删除文件,因为磁盘已满,剩余 5g 可用空间

我最近磁盘空间不足。我从 CMS 数据库中删除了一些旧数据行。我注意到可用磁盘空间没有按预期增长。我在 serverfault 中搜索并找到了该VACUUM FULL;命令。 不幸的是,由于磁盘已满,我无法运行此命令。 这是我的日志: postgres@Ubuntu-1510-wily-64-minimal:~$ psql -d cms psql (9.4.6) Type "help" for help. cms=# auto vacuum cms-# ; ERROR: syntax error at or near "auto" LINE 1: ...

Admin

使用 bash 脚本进行例行清理的 pgagent 作业
vacuum

使用 bash 脚本进行例行清理的 pgagent 作业

我希望能够制定例行吸尘计划,以便能够在不太忙的时候安排吸尘。 我一直在寻找一种方法来定期清理 x 天未清理过的表。Postgresql 允许您完全清理。这会启动,但您无法控制清理所需的时间。 因此,我希望有一种方法可以搜索 x 时间内未清理过的表。然后,如果当前时间在某个时间窗口内,则清理它们。 ...

Admin

postgresql 轨道计数和自动清理不起作用
vacuum

postgresql 轨道计数和自动清理不起作用

启动日志条目表明自动清理未运行。我查询了 pg_stat_user_tables 表,尽管我之前运行了清理查询,但 last_vacuum 和 last_autovacuum 列仍为空。将 pgadmin 连接到数据库时,发现清理未运行。 我在两台 Ubuntu Azure VM 上使用 postgresql。一台 VM 设置为主服务器,另一台 VM 是通过流式传输复制的数据库。大致描述如下https://www.digitalocean.com/community/tutorials/how-to-set-up-master-slave-replicat...

Admin

journalctl 真空吸尘器不工作
vacuum

journalctl 真空吸尘器不工作

我最近开始使用 Fedora 25,并尝试手动清除日志,但不起作用。例如: $ journalctl --disk-usage Archived and active journals take up 24.0M on disk. 我尝试用以下方法清除: $ journalctl --vacuum-size=1M Vacuuming done, freed 0B of archived journals on disk. 它没有释放任何东西。有什么想法吗?系统是新安装的,我journald.conf还没有动过。谢谢。 ...

Admin

为什么将 PosgreSQL 从 8.4 升级到 9.1 后,自动清理在分区的主表上运行时会使用如此多的 IO?
vacuum

为什么将 PosgreSQL 从 8.4 升级到 9.1 后,自动清理在分区的主表上运行时会使用如此多的 IO?

我们有一个应用程序,用于收集基于时间戳的数据。由于一个月的数据超过 3000 万行(并且每个月都在增长),我们决定按年和月对数据进行分区。 我们基本上有一个主表和分区表,如 master_y2013m01 等。由于我们的应用程序堆栈,我们使用插入前触发器将行插入到正确的分区和主表中,然后使用插入后触发器从主表中删除它们(我们需要原始插入来返回插入的行信息)。 这意味着主表很快就会被死元组填充,并频繁触发自动清理(我们使用自动清理的默认设置)。 将数据库从 PostgreSQL 8.4 升级到 9.1 后,我们注意到 IO 大幅增加,并将其追溯到自动清理...

Admin

postgres 真空
vacuum

postgres 真空

好的伙计们,我已经搬到了一家新公司,我发现他们这里有一个 PostgreSQL 数据库来运行 OpenNMS。 我是一个 MySQL 用户,对 PostgreSQL 完全不熟悉,但我至少学会了如何运行psql和postgres -D进入单用户模式。 无论如何,OpenNMS 崩溃了。我进入系统并追踪到 PostgreSQL,结果给出了以下错误: WARNING: database "template1" must be vacuumed within 965550 transactions HINT: To avoid a database shu...

Admin

已启用 Postgresql-8.4 自动清理功能以获得最佳性能
vacuum

已启用 Postgresql-8.4 自动清理功能以获得最佳性能

我想知道哪一个比较好,是自动清理还是手动清理。目前我们在 cron 作业中手动清理,但有时会遇到需要清理特定表的情况。所以我们正在考虑自动清理。它能为生产服务器提供良好的性能吗?请提出建议。提前谢谢。 ...

Admin

删除大量行后,是否需要对表进行 REINDEX 和 VACUUM ?
vacuum

删除大量行后,是否需要对表进行 REINDEX 和 VACUUM ?

我正在运行一个 PostgreSQL 数据库,它有多个用于存储日志信息的表。这些信息仅用于报告目的,如果超过 30 天,则会被转储到文件中并从数据库中删除。 可能会删除数百万行,并且每次删除后我们都会运行 REINDEX。 这是否足够,还是我们还应该运行 VACUUM 或 VACUUM ANALYZE?或者 REINDEX 没有必要,我们应该只是运行 VACUUM 或 VACUUM ANALYZE? 我们正在使用 PostgreSQL 8.2.3,我认为它不允许自动清理。 ...

Admin

数据库完全真空、聚类、分析 - 按什么顺序?
vacuum

数据库完全真空、聚类、分析 - 按什么顺序?

我有一个巨大的 (~150 GBytes) postgresql 数据库,其性能在过去几周内下降了。为了提高性能,我打算执行全真空,簇和分析。 我应该按照什么顺序执行这些操作?我不介意执行所需的时间,只关心数据库的性能改进。 ...

Admin

我如何知道 postgres 8.3 中的自动清理器是否真的在运行?
vacuum

我如何知道 postgres 8.3 中的自动清理器是否真的在运行?

我有几个 postgres 8.3 数据库,它们显示出缺乏清理的症状。 我检查了配置,它们处于默认状态,即自动清理程序已打开。此外,当我启动数据库时,我在 postgres 日志中看到“自动清理程序已启动”。 问题是,我实际上从未看到过真空吸尘器在运行。我也从未在日志中看到过有关真空吸尘器运行的任何信息(我应该看到什么吗?) 那么我如何知道吸尘器是否在工作呢?例如,有没有办法查看上次吸尘完成的时间?更好的是,有人能给我提供一些文档来回答这个问题吗? 谢谢! ...

Admin