问题标签 [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.
performance - 我可以每 1-2 分钟运行一次 PostgreSQL Vacuum 吗?
我正在为即将到来的项目考虑各种支持 MVCC 的数据库,而 PostgreSQL 引起了我的注意。
我的程序的要求涉及大致如下的序列:
从当前版本的数据库中读取一些信息,修改 80-90% 的数据并在一个或多个事务中将其写回(想象一下在 Conway 的生命游戏中更新网格,其中网格的旧状态和新状态是必须的)。
提交后等待 1-2 分钟。在此期间,客户端可以针对新数据发出读取。
重复。
数据库将被限制为 2-4GB。
约 90% 的更改是对现有对象的更新,约 5% 将是新对象,约 5% 将是删除对象。
所以我的问题是,我是否可以合理地每 1-2 分钟运行一次简单的 VACUUM 命令作为步骤 1.5,并让 PostgreSQL 能够跟上每次可能进行的 2-3+GB 的更改?
ruby-on-rails - 如何为诸如 Vacuum 之类的 gem 运行示例代码?
我是 Rails 新手,希望建立一个使用亚马逊产品 API 的网站。我习惯于在 PHP 中使用 API,但如果可能的话,我热衷于迁移到 Ruby。
我一直在尝试各种 Amazon 产品 API gem、Ruby/AWS、Amazon-ECS,现在还有 Vacuum。然而,我坚持的一个问题是如何实际使用他们在自述文件中建议的代码。
例如,真空:
https://github.com/hakanensari/vacuum/
它提到了以下代码:
不确定将这段代码放在哪里,我为测试应用程序设置了一个控制器并将其放在那里。但是它在第一行失败了,说没有定义真空(它作为 gem 安装在 gemfile 中,我已经运行了 bundle install)。
我可能正在做一些愚蠢但易于修复的事情,并且非常感谢任何建议。
D
编辑:
感谢 x1a4,下面的代码应该替换上面的配置块:
postgresql - 错误 (?) PostgreSQL 表的大小
我有一个包含列和约束的表:
(没有主键)。目前有 28 978 112 条记录,但我认为表的大小太大了。
查询结果:
是:
idsensorfragments列上只有一个索引。使用简单的数学,您可以看到一条记录需要 ~66,7 B (?!?!)。谁能解释一下这个数字是从哪里来的?
5 列 = 2 + 2 + 2 + 4 + 4 = 14 字节。我有一个索引,没有主键。每条记录额外的 50B 来自哪里?
PS 表被抽真空、分析和重新索引。
python - sqlite 真空与 django
在sqlite中插入和删除大量记录后,sqlite db文件的大小不断增长,有没有办法使用django清理表?
- 一些让 sqlite 自动清空的设置
- 或者手动编写自己的 django 命令来清理
更新:
我使用sqlite 数据库浏览器执行以下 SQL:
效果很好,我只想以编程方式进行
database - Postgres维护的正确顺序
我有一张大表,因为很多行经常更新,所以索引膨胀。我也在删除大量行。
为了恢复磁盘空间,执行以下任务的正确顺序是什么?
- 真空,将死元组标记为空闲以供数据库重用,不会将空间返回给系统。
- Vacuum Full,重写表以减少表膨胀,将空间返回给系统。
- 重新索引,重写索引以减少索引膨胀,将空间返回给系统。
ruby-on-rails - Ruby on Rails:如何使用 Gem?(真空亚马逊 API)
我找到了一个我想使用的 Amazon Gem https://github.com/hakanensari/vacuum/。
我只使用过深入教程或遵循 RailsCast 的 gem。我正在寻找有关使用我在网上找到的宝石的提示。我将解释我正在执行的步骤,希望有人能给我一些关于在使用新 gem 时我还应该做什么的想法。此外,如果您有关于宝石的良好教程或解释,那也很棒。
我开始检查 Github 上的 Gem,我会指出我注意到的事情。让我知道是否有我遗漏的东西我应该注意。
在 Github 上检查 Gem
- 转到示例并查看“examples/product_advertising/basic_lookup.rb”
- 按照所需的文件,检查“examples/product_advertising/shared.rb”
- 注意,我需要安装“pry”
- 请注意,示例在“lib”文件夹中展开
- 查看“credentials.yml”
- 请注意,“@req”被实例化为一个新的 Vacuum 对象。
- 然后回到 basic_lookup.rb,它看起来像是在分配查找值,然后将响应绑定到某种“pry”视图。
接下来,我将尝试在我自己的项目中实现这些示例。就文件而言,这就是我不确定该怎么做的地方。
尝试实现示例
安装真空宝石
gem install vacuum
安装撬宝石
gem install pry
- 将“shared.rb”和“credentials.yml”添加到我的“app/controllers”目录
- 将“credentials.yml”中的信息替换为我的信息
尝试将“basic_lookup.rb”中的信息复制到现有控制器中
/li>创建路线
match '/test' => 'products#amazon'
转到测试页面并收到以下错误
undefined method 'look_up' for nil:NilClass
我想指出,此时我还没有添加 lib 文件夹。
问题
- 我喜欢将 credentials.yml 分离出来,当我想将它添加到我的项目时,我应该在哪里保存该文件?
- 我喜欢 shared.rb 文件,我应该把它放在控制器文件夹中吗?
- 为什么它引用“shared.rb”中的“lib”文件夹?我需要将该目录复制到我的项目中吗?
我很感激你留下来阅读所有这些。我仍在尝试使用宝石,所以任何帮助或提示都很棒。真的,我只是想弄清楚,我如何找到任何宝石并开始适当地使用它。
感谢你给与我的帮助!
ios - 在 Core Data SQLite 持久存储上使用 Sqlite3 VACUUM 命令
在我们的应用程序中,我们正在通过网络/电子邮件实现部分 Core Data SQLite 数据库的共享。为了保持文件较小,我实现了以下方法来缩小 Core Data 数据库。
问题:上面的代码确实缩小了数据库。但苹果表示,Core Data 的实施细节随时可能发生变化。你认为我在可预见的未来使用这种方法会安全吗?或者有没有其他更好的解决方案?
plpgsql - postgresql 真空分析许多表
我有一个由大约 200 个子表组成的中型表(大约 150 亿行)(即每个子表继承母表,并且有约束 CHECKS 来优化分区)。
加载每个表的 plpgsql 代码也会在每个子表上生成索引,但不幸的是(因为它是一个函数),它也不能vacuum analyze subtable;
为它刚刚加载和索引的子表执行 a。
因此,vacuum analyze
在整个数据库的下一个完成之前,母表上的所有查询都很糟糕并且不使用索引(正如解释所揭示的那样)。
请注意,这是 PostgreSQL 8.2.14 的全部内容。
问题
- 有没有办法让 plpgsql 函数说,请在上面加糖,结束事务块并执行
vacuum analyze subtable
? - 有没有办法使用一些通配符()一次清理/分析许多表
vacuum analyze schema.subtables*
? - 或者,是否可以只真空/分析一个模式?
- 有没有其他方法可以从 postgresql 中以编程方式清理/分析 200 个子表(是的,我可以将所有子表的名称、折腾和季节转储到 psql 脚本中,然后执行那个,但它有点难看)。
database - VACUUM 数据库和 WAL 模式
我有 SQLite 数据库WAL
模式。每次我VACUUM
对数据库执行 a 时,日志模式都会在DELETE
我下次重新连接时恢复。
例如:
在 SQLite 3.7 中观察到的行为,但似乎在 3.8 中已修复。
haskell - 在win7 64位上安装vacuum-cairo
我对 Haskell 比较陌生,以前从未安装过软件包,我不知道如何解决这个问题。所以这就是我所做的: - 我安装了 Haskell 平台 - 我试图运行“cabal install Vacuum-cairo”
这就是我得到的(最后几行似乎很重要):
我也尝试了一些我在互联网上阅读的东西,但没有任何效果,我真的没有找到那么多。有人可以帮我解决这个问题吗?我真的很想使用那个包来更好地了解我在 Haskell 中所做的事情:)