【问题标题】:Postgres: How do you cleanup unsused tablespace filesPostgres:如何清理未使用的表空间文件
【发布时间】:2014-06-04 19:25:45
【问题描述】:

我有一个构建过程,它会在数据库第一次运行时引导它。之后,使用 pg_dump 导出数据库,然后重新导入以进行后续构建,直到执行“强制引导”构建。问题是数据库名称是由构建创建和定义的,然后在构建的开始/结束时删除以强制初始化。有六个表空间,但每次构建都会创建最终位于 /var/lib/pgsql/tablespaces 中的对象,这些对象最终会填满文件系统。我无法删除表空间,因为可能正在运行另一个并发构建。

当不再引用 /var/lib/pgsql/tablespaces 中的文件时,是否有清理作业或其他东西来删除它们?

我猜数据库导出每次导入时都会创建新的表空间对象,这就是它无限增长的原因。

【问题讨论】:

    标签: postgresql tablespace


    【解决方案1】:

    看来您必须删除当前引用任何表空间的所有数据库。只有这样,postgres 才会执行清理并删除表空间。这似乎完全疯了。但从构建节点的角度来看,我可以配置一个构建作业以在安静期间运行清理所有数据库。

    【讨论】:

    • 其实这样说的有道理。表空间不在数据库“之下”;他们在服务器“下”。仍然引用表空间的数据库可能即将在表空间中存储一些内容。
    猜你喜欢
    • 2011-06-22
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    相关资源
    最近更新 更多