1

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

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

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

4

1 回答 1

1

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

于 2014-06-04T19:38:42.877 回答