2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0

14.5. 非持久性设置 #

持久性是一项数据库功能,可保证已提交的事务得到记录,即使服务器发生崩溃或断电。然而,持久性会增加显著的数据库开销,因此如果您的站点不需要此保证,则可以配置 PostgreSQL 以更快的速度运行。以下是在此类情况下可用于提高性能的配置更改。除非下文另有说明,否则在使用这些设置时,数据库软件崩溃仍然可以保证持久性;只有突然的操作系统崩溃才会带来数据丢失或损坏的风险。

  • 将数据库集群的数据目录放在内存备份的文件系统(即RAM磁盘)上。这消除了所有数据库磁盘 I/O,但将数据存储限制在可用内存(可能还有交换空间)的范围内。

  • 关闭 fsync;无需将数据刷新到磁盘。

  • 关闭 synchronous_commit;可能无需强制WAL每次提交都写入磁盘。此设置存在事务丢失的风险(但不会数据损坏),以防 数据库崩溃。

  • 关闭 full_page_writes;无需防范部分页面写入。

  • 增加 max_wal_sizecheckpoint_timeout;这会降低检查点的频率,但会增加 /pg_wal 的存储需求。

  • 创建 未记录表以避免WAL写入,尽管这使得表不具备崩溃安全性。

提交更正

如果您在文档中发现任何不正确、与您对特定功能的实际体验不符或需要进一步澄清的内容,请使用 此表格 报告文档问题。