# 14.5.非持久设置

持久性是一种数据库功能,即使服务器崩溃或断电,也能保证记录已提交的事务。然而,持久性会增加大量数据库开销,因此如果您的站点不需要这样的保证,PostgreSQL可以配置为运行得更快。以下是在这种情况下可以进行的配置更改,以提高性能。除下述情况外,数据库软件崩溃时,耐久性仍有保证;使用这些设置时,只有突然的操作系统崩溃才会造成数据丢失或损坏的风险。

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

  • 关掉同步; 无需将数据刷新到磁盘。

  • 关掉同步的_犯罪; 可能没有必要在每次提交时强制WAL写入磁盘。如果系统崩溃,此设置不存在事务丢失(但不是数据损坏)的风险数据库.

  • 关掉满的_页_写; 不需要防止部分页面写入。

  • 增长最大值_沃尔_大小检查站_暂停; 这降低了检查点的频率,但增加了存储需求/普格沃尔.

  • 创造未上钩的桌子为了避免沃尔写道,尽管这使桌子不致于崩溃。