首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ZODB不释放硬盘空间

ZODB不释放硬盘空间
EN

Stack Overflow用户
提问于 2015-04-02 05:30:35
回答 1查看 201关注 0票数 1

我通过创建一个巨大的对象来测试ZODB,提交,然后它给出一个警告。接下来,我继续删除根目录中的对象,即commit。.fs文件仍有1 1GB的空间。然后我杀了REPL。我重新打开了python,建立了连接,但现在我似乎无法摆脱这个1 GB的文件(除了试图将其从磁盘本身删除)。

类似这样的代码:

代码语言:javascript
运行
复制
storage = FileStorage('Data.fs')
db = DB(storage)
connection = db.open()
root = connection.root()

然后创建了一些巨大的对象,一开始我确实这样做了

代码语言:javascript
运行
复制
root['bigObj'] = 'small_str',
transaction.commit()

尝试并覆盖。之后,我删除了键/值。

我漏掉了哪部分?

EN

回答 1

Stack Overflow用户

发布于 2015-04-02 05:39:43

ZODB是仅附加的数据库。除非被明确告知,否则ZODB从不回收或覆盖旧信息。这意味着,如果需要,您可以在创建数据库时拥有无限的撤消历史记录。

要回收磁盘空间,您需要使用pack ZODB database命令。

其他数据库(MySQL、PostgreSQL)也有类似的特征。例如,PostgreSQL必须时不时地被VACUUM

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29401207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档