选择 打开 改范围 完整检索页
受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10
当前 PostgreSQL 版本不在支持生命周期内。
您可以参阅当前版本的对应页面,或其他在上面列出的活跃大版本。

14.5. 非持久设置 #

持久性是一种数据库特性,保证即使服务器崩溃或断电,已提交的事务也会被记录下来。但持久性会带来显著的数据库开销,因此如果你的应用场景不需要这种保证,可以将PostgreSQL配置为以快得多的速度运行。以下配置更改可以在这些情况下提高性能。除下文特别注明的情况外,数据库软件崩溃时仍然保证持久性;使用这些设置时,只有操作系统突然停止运行才会造成数据丢失或损坏的风险。

  • 将数据库集簇的数据目录放在一个内存支持的文件系统上(即RAM磁盘)。这消除了所有的数据库磁盘 I/O,但将数据存储限制到可用的内存量(可能有交换区)。

  • 关闭fsync;不需要将数据刷入磁盘。

  • 关闭synchronous_commit;这样可能无需在每次提交时 强制将WAL写入磁盘。这种设置会在数据库崩溃时带来事务丢失的风险(但不会造成数据损坏)。

  • 关闭full_page_writes;不需要警惕部分页面写入。

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

  • 创建不记录 WAL 的表 来避免WAL写入,不过这样会使表在崩溃时不再安全。