12.2. 磁盘满导致的失效

一个数据库管理员最重要的磁盘监控任务就是确保磁盘不会写满。 一个写满了的数据磁盘可能导致随后数据库索引的崩溃,但不会 导致基本数据表的崩溃。如果 WAL 文件也在同一个磁盘上(缺省 配置就是这样),那么在数据库初始化期间出现的磁盘写满会导致 损坏的或者是不完整的 WAL 文件。数据库服务器会检测到这样的失效问题 并且拒绝启动。

如果你不能通过删除一些其他的东西来释放一些磁盘空间,那么 你可以把一些数据库文件移动到其他文件系统上去然后在原来的 位置创建一个符号联接。但是,请注意, pg_dump 无法保存这样设置的位置布局信息;恢复的时候还是会把所有东西 都放回到同一个地方。为了避免用光磁盘空间,你可以创建的时候把 WAL 文件 或者独立的数据库放在其他的位置。 参阅 initdb 的文档和 Section 7.5 获取更多信息。

提示: 有些文件系统在快满的时候性能会急剧恶化,因此不要等到磁盘快满的时候才 采取行动。