postgresql synchronous_commit参数的用法介绍
synchronous_commit指定在命令返回”success”指示给客户端之前,一个事务是否需要等待 WAL 记录被写入磁盘。合法的值是{local,remote_write,remote_apply,on,off}默认的并且安全的设置是on。因此,当性能比完全确保事务的持久性更重要时,关闭synchronous_commit可以作为一个有效的代替手段。这个参数可以随时被修改;任何一个事务的行为由其提交时生效的设置决定。当数据库提交事务时不需要等待本地 wal buffer 写入 wal 日志,随即向客户端返回成功,设置成off会给数据库带来一点风险:数据库宕机时最新提交的少量事务可能丢失,数据库重启后会认为这些事务异常终止,会rollback。适用对数据库准确性要求不高同时追求数据库性能的的场景。这个选项带来的事务响应时间最高。
用户评论