问题标签 [vacuum]
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.
postgresql - PostgreSQL 长真空
我目前正在清理一个具有 2 个索引和 2.5 亿个活动行以及大约相同数量(或更多)的死行的表。我从我的客户端计算机(笔记本电脑)向我的服务器发出了命令 VACCUM FULL ANALYZE。它在过去 3-4 天左右一直在开展业务;我想知道它是否会很快结束,因为我还有很多工作要做!
该服务器有一个四码 Xeon 2.66 GHz 处理器、12 GB 或 RAM 和一个 RAID 控制器,该控制器连接到 RAID 1 配置中的 2 个 10K rpm 146 GB SAS HD;它正在运行 Suse Linux。我想知道...
现在,首先 VACUUM postmaster 进程似乎只使用一个核心。其次,我没有看到非常高的 I/O 写入与 I/O 空闲时间的比率。第三,通过调用procinfo
,我可以推断 VACUUM 进程大部分时间(88%)都在等待 I/0。
那么为什么不通过线程利用更多内核来使 RAID 控制器过载(获得高 I/O 写入空闲比)?如果 I/O 负载不高,为什么还要等待 I/O?为什么所有这些权力/资源都在它的手指上,但速度却没有更快?在我看来,VACUUM 可以而且应该是多线程的,特别是如果它在一张巨大的桌子上工作并且它是唯一一个工作的!
此外,他们是否可以配置 postgresql.conf 以使其多线程这样的 VACUUM?我可以杀死它并仍然从它的部分清理中受益吗?我需要在那张桌子上工作。
[我使用的是 PostgreSQL 8.1]
再次感谢
python - postgresql 中的动态数据
我打算让一个 python 脚本每秒在 2,433,000 行上执行许多更新。我目前正在尝试将 python 中的动态列作为 python dict 中的值。然而,让我的 python dict 与其他列中的更改保持同步变得越来越困难或不可行。
我知道我可以将 autovacuum 置于超速状态,但我想知道这是否足以赶上大量的更新。如果我能将一个 python 变量关联到每一行就好了……
我担心 VACUUM 和磁盘写入开销会杀死我的服务器?
关于如何将极其动态的变量与行/键关联的任何建议?
谢谢
optimization - how to automatically determine which tables need a vacuum / reindex in postgresql
i've written a maintenance script for our database and would like to run that script on whichever tables most need vacuuming/reindexing during our down time each day. is there any way to determine that within postgres?
i would classify tables needing attention like this:
- tables that need vacuuming
- tables that need reindexing (we find this makes a huge difference to performance)
i see something roughly promising here
python - PostgreSQL - 如何从事务块外的代码运行 VACUUM?
我正在将 Python 与 psycopg2 一起使用,并且我试图在VACUUM
插入数千行的日常操作之后运行完整。问题是当我尝试VACUUM
在我的代码中运行命令时,我收到以下错误:
如何从事务块外部的代码运行它?
如果它有所作为,我有一个简单的 DB 抽象类,它的一个子集显示在下面的上下文中(不可运行,异常处理和文档字符串被省略,并且行跨越调整):
postgresql - JDBC postgres 真空超时
我正在尝试通过在 Java 中运行以下 SQL 指令来清理我的 Postgres 数据库:
真空详细分析
有时它似乎只是“挂起”是否有任何干净的方法可以中止该过程?我试过了
SET statement_timeout TO XXXX
但我收到错误消息“VACCUM 无法在事务块内运行”
sql - 为什么 $dbh->do('VACUUM') 会因 Perl 的 DBD::SQLite 而失败?
我想VACUUM
在某个时间在 Perl 下的 SQLite 数据库上做,但它总是说
DBD::SQLite::db 失败:不能从事务中 VACUUM
那么我该怎么做呢?
我正在使用AutoCommit => 0
. 并且错误发生在:
postgresql - postgreSQL 真空临时文件?
我有一个“小”问题。一周前,我的数据库达到了完整的磁盘容量。我删除了不同表中的许多行以释放磁盘空间。之后我尝试运行没有完成的完全真空。
我想知道的是。当我停止真空完全完成时,它是否会在磁盘上留下任何我必须手动删除的临时文件?我现在有一个磁盘容量为 100% 的数据库,不用说这是一个大问题。
释放磁盘空间的任何提示?
我正在使用 postgres 8.1.4 数据库运行 SUSE。
php - 从 PHP 清理 PostgreSQL 数据库
我想从 PHP 中清理一个 PostgreSQL 数据库。
我试过这个:
我怎么知道这是否有效?
sqlite - 如何对 Core Data SQLite 数据库进行 VACUUM?
按照设计,Core Data 不会向其 SQLite 数据库发出VACUUM SQL 命令,详见此处。我正在创建一个核心数据应用程序,它将在 SQLite 数据库中存储并稍后删除大型二进制文件(大小为 2-10MB)。随着时间的推移,这将导致碎片化和超出必要的 SQLite 数据库。我想定期发出一个 VACUUM 命令,比如说,在我运行的清理操作期间。
- 如何以编程方式向 Core Data 的 SQLite 存储发出 VACUUM 命令?
- 是否可以通过 Core Data 执行此操作,或者我必须挂载 SQLite 数据库并直接连接到它以执行 VACUUM SQL?
database - 清空数据库是什么意思?
正如这个 Firefox 错误所引用的,清理数据库的行为是做什么的?所有现代数据库软件都支持此操作,还是仅某些软件支持?