暂无图片
返回数说广场
winter_tech
2024-05-29 知行合一
如果 pg_wal 用完磁盘空间,PostgreSQL 服务器将会崩溃。PostgreSQL 数据库记录所有对数据库的修改在事务重做日志中。PostgreSQL 将事务重做日志称为“预写日志” (WAL),因为我们必须在将数据修改应用到数据库之前记录所有数据修改。这有三个目的: 从崩溃中恢复而不丢失任何数据 在恢复在线文件系统备份后恢复数据 在备用服务器上重放数据修改 PostgreSQL 依次将 WAL 写入数据目录的 pg_wal 子目录中的 WAL 段 文件。这些 WAL 段的大小为 16MB(但您可以在 initdb 时选择不同的大小)。WAL 段可以处于以下三种状态之一: 一个 WAL 段是活动的,即 PostgreSQL 目前将事务重做信息写入此文件 一些 WAL 段是空的,并准备好供将来使用,以避免在活动 WAL 段满时出现停顿 一些 WAL 段已经完成,并且在正常操作中不再使用 显然令我们担忧的是已完成的 WAL 段。PostgreSQL 会在不再需要它们时自动删除这些文件。我们需要更好地理解这个过程,以便解决我们最初的问题。有一个重要的警告: 绝不要手动删除 pg_wal 中的任何文件。 PostgreSQL 需要这些文件来从崩溃中恢复。如果您磁盘空间不足,您需要增加磁盘空间。
0
暂无图片 0
110
分享

评论

热门数说