当前位置: 首页 > news >正文

PostgreSQL 流复制参数 - synchronous_commit

文章目录

  • 一、单实例
    • 1、synchronous_commit = off
    • 2、synchronous_commit = on / local
  • 二、主从
    • 1、synchronous_commit = off
    • 2、synchronous_commit = local
    • 3、synchronous_commit = remote_write
    • 4、synchronous_commit = on
    • 5、synchronous_commit = remote_apply

一、单实例

1、synchronous_commit = off

设置成off表示提交事务时不需等待相应WAL数据写入本地WAL日志文件即可向客户端返回成功。当数据库宕机时最新提交的少量事务可能丢失,但数据库重启后会认为这些事务异常中止。
设置成off能够提升数据库性能,因此对于数据准确性没有精确要求同时追求数据库性能的场景可以考虑设置成off。

2、synchronous_commit = on / local

单实例下设置成 on或local均表示提交事务时需等待相应WAL数据写入本地WAL日志文件后才向客户端返回成功。设置成on理论上事务是绝对安全的,但相对与off需要略微多一点额外的耗时。

二、主从

1、synchronous_commit = off

含义与单实例相同,表示提交事务时不需等待本地相应WAL数据写入本地WAL日志文件即可向客户端返回成功。

2、synchronous_commit = local

含义与单实例相同,表示提交事务时需等待相应WAL数据写入本地WAL日志文件后才向客户端返回成功,但是不关心从节点的情况。

3、synchronous_commit = remote_write

如果没有设置synchronous_standby_names,remote_write跟单实例下synchronous_commit=local含义相同
  如果设置了设置了synchronous_standby_names:
  当流复制主库提交事务时,需等待备库接收主库发送的WAL日志流并写入备节点操作系统缓存中,才向客户端返回成功,此时备库的WAL还在备库操作系统缓存中。
  除非一个事物提交之后,在standby节点WAL日志固化之前的wal_writer_delay(默认200毫秒)这个间隔内,同时发生这两个事件:
  1. 主节点磁盘故障导致数据损坏;
  2. standby节点操作系统发生宕机,才有可能造成数据丢失。

4、synchronous_commit = on

如果未设置synchronous_standby_names = on跟单实例下含义相同
  如果设置了synchronous_standby_names = on跟单实例下含义不同,此时表示流复制主库提交事务时,需等待备库接收主库发送的WAL日志流并写入WAL文件,也即主备的WAL日志同时落盘之后,之后才向客户端返回成功。

5、synchronous_commit = remote_apply

如果未设置synchronous_standby_names,remote_apply等同于on,跟单实例下含义相同。
  如果设置了synchronous_standby_names = on跟单实例下含义不同,表示流复制主库提交事务时 ,需等待备库完成相应的WAL日志的apply才向客户端返回成功。
  也就是说从数据需要接收主节点WAL日志,并且完成了WAL的“翻译”工作,主备数据完全一致的情况下才返回事务提交成功的标记。

http://www.dtcms.com/a/418934.html

相关文章:

  • BPEL:企业流程自动化的幕后指挥家
  • 企业网站开发一薇设计说明英语翻译
  • 搭建 Nexus3 私服并配置第三方 Maven 仓库(阿里云等)和优先级
  • JVM 深入研究 -- 详解class 文件
  • Apache Airflow漏洞致敏感信息泄露:只读用户可获取机密数据
  • 第十六周-基本量子3
  • 手机微网站怎么制作缪斯国际设计董事长
  • 在 Spring Cloud Gateway 中实现跨域(CORS)的两种主要方式
  • SQL Server从入门到项目实践(超值版)读书笔记 27
  • 【Git】项目管理全解
  • rdm响应式网站开发企业年报网上申报流程
  • 昆山开发区网站制作网站建设文档模板
  • PySide6调用OpenAI的Whisper模型进行语音ASR转写
  • 网站怎么被黑磁力蜘蛛
  • nginx反向代理和负载均衡
  • 外贸seo外贸推广外贸网站建设外贸网站建设网站域名信息查询
  • 新广告法 做网站的python和c++学哪个好
  • 数据科学与数据分析:真正的区别是什么?
  • default-route-advertise always 概念及题目
  • Python爬虫实战:获取东方财富网CPI信息与数据分析
  • Filebeat写ElasticSearch故障排查思路(上)
  • 网站开发进度安排文档青岛关键词优化排名
  • C# TCP 服务端与客户端代码分析与补充
  • 族蚂建站郴州网站建设费用价格
  • 对象分配在哪块内存?
  • AI Agent智能体如何突破“听懂却做不好”困局?多模态技术打通全链路
  • 图卷积网络 (GCN)
  • JMeter中常用的配置优化
  • 网站怎样做优化调整深圳vi设计深圳vi设计公司
  • 做教育培训网站需要资质么网站对联广告图片