非持久性设置

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 14. 性能提升技巧 | 下一页

# 14.5. 非持久性设置

持久性是数据库的特性，它保证已提交事务的记录，即使是在服务器崩溃或断电的时候。 然而，持久性显著增加了数据库的开销， 所以如果你的网站并不需要这样的保证， PostgreSQL可以被配置为运行得更快。 以下是配置变化，可以在这种情况下提高性能。 除下文所述外，持久性仍然可以在数据库软件的崩溃的情况下得到保证， 当使用这些设置时,只有突然的操作系统停止会带来数据丢失或损坏的风险。

- 将数据库集群的数据目录放在内存支持的文件系统中（即RAM磁盘）。 这消除了所有数据库磁盘I/O，但限制可用内存（也许是页交换）的数据存储量。

- 关闭fsync；没有必要刷新数据到磁盘。

  关闭synchronous_commit；可能没有必要在每次提交时强制将 WAL写入磁盘。这个设置确实在database 崩溃的情况下增加了事务丢失的风险（尽管没有数据损坏）。

- 关闭full_page_writes；没有必要防护部分页面写入。

- 增加checkpoint_segments和checkpoint_timeout；这减少了检查点频率，但是增加了`/pg_xlog` 的存储需求。

- 创建非日志表， 以避免WAL写入，尽管它使得表是非崩溃安全的。

上一页 | 起始页 | 下一页
向数据库中添加记录 | 上一级 | 服务器管理