PostgreSQL 10.1 手册_部分 II. SQL 语言_第 14 章 性能提示_14.5. 非持久设置

通过非持久设置优化PostgreSQL性能,包括禁用fsync、synchronous_commit等,了解如何在牺牲数据持久性的同时提高数据库速度。

14.5. 非持久设置

持久性是数据库的一个保证已提交事务的记录的特性(即使是发生服务器崩溃或断电)。 然而,持久性会明显增加数据库的负荷,因此如果你的站点不需要这个保证,PostgreSQL可以被配置成运行更快。在这种情况下,你可以调整下列配置来提高性能。除了下面列出的,在数据库软件崩溃的情况下也能保证持久性。当这些设置被使用时,只有突然的操作系统停止会产生数据丢失或损坏的风险。

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

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

  • 关闭synchronous_commit;可能不需要在每次提交时 强制把WAL写入磁盘。这种设置可能会在 数据库崩溃时带来事务丢失的风险(但是没有数据破坏)。

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

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

  • 创建不做日志的表 来避免WAL写入,不过这会让表在崩溃时不安全。

本文转自PostgreSQL中文社区,原文链接: 14.5. 非持久设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值