postgres 日志级别要设置成 wal_level = logical 的影响? 物理复制和逻辑复制

物理复制和逻辑复制

物理复制和逻辑复制
概念
在这里插入图片描述
WAL
在这里插入图片描述
区别
在这里插入图片描述
在这里插入图片描述

逻辑复制

将 PostgreSQL 的日志级别设置为 wal_level = logical 会启用逻辑复制(logical replication)功能,这对于一些应用场景非常有用。

逻辑复制是一种高级的复制技术,它可以在不同的 PostgreSQL 数据库之间同步数据,甚至可以跨版本同步数据。与传统的流复制(streaming replication)相比,逻辑复制可以更加灵活地选择需要复制的表和列,也可以过滤掉不需要复制的数据。此外,逻辑复制可以在主库上执行数据转换和过滤操作,这对于一些特殊需求非常有用,例如数据仓库和实时数据分析等。

但是,启用逻辑复制也有一些缺点。首先,逻辑复制需要更多的 CPU 和内存资源,因为它需要解析和转换数据。其次,逻辑复制的延迟可能会更高,因为它需要在主库上执行额外的转换和过滤操作。最后,逻辑复制的实现相对较新,可能会有一些稳定性和兼容性方面的问题。

因此,是否要启用逻辑复制,需要根据具体的应用需求和系统配置来进行决策。如果您需要更灵活的复制选项,并且具有足够的 CPU 和内存资源,那么启用逻辑复制可能是一个不错的选择。但是,如果您对数据同步的延迟和稳定性有较高的要求,那么传统的流复制可能更适合您的需求。

流复制

PostgreSQL 的流复制(streaming replication)是一种基于二进制日志(binary log)的复制技术,它可以将一个 PostgreSQL 主库上的数据实时复制到一个或多个从库中。主库将修改后的数据写入二进制日志文件(WAL 日志),从库通过流式复制(streaming replication)将主库的 WAL 日志拷贝到本地,并将日志中的操作应用到自己的数据库中,从而实现数据的实时同步。

在 PostgreSQL 的流复制中,有两种类型的从库:

热备(Hot Standby)从库:它可以接收数据并执行只读查询,但不能执行写操作,因为所有写操作都必须在主库上执行。

流式复制(Streaming Replication)从库:它可以接收数据并执行读写操作,因为它可以像主库一样执行写操作。

流复制的优点在于它可以实现实时数据同步,并且可以在从库上执行读写操作,从而提高整个系统的可用性和性能。同时,流复制的实现非常稳定,并且已经被广泛应用于生产环境中。

要启用流复制,需要在 PostgreSQL 的配置文件中设置一些参数,例如:

主库配置

wal_level = replica
max_wal_senders = 5
wal_keep_segments = 10

从库配置

hot_standby = on
primary_conninfo = 'host=master_ip_address port=5432 user=replica password=replica_pass'

其中,wal_level 表示主库需要记录的 WAL 日志级别,max_wal_senders 表示主库可以同时发送 WAL 日志给多少个从库,wal_keep_segments 表示主库需要保留的 WAL 日志段数。而在从库中,hot_standby 表示是否启用热备功能,primary_conninfo 表示连接到主库的参数。

流复制的具体实现步骤和细节较为复杂,需要结合具体的场景进行设置和调优。但是,一旦正确配置和使用,流复制可以帮助 PostgreSQL 构建高可用、高性能的数据库系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/7174.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode.1017 负二进制转换

题目链接 Leetcode.1017 负二进制转换 Rating : 1698 题目描述 给你一个整数 n,以二进制字符串的形式返回该整数的 负二进制(base -2)表示。 注意,除非字符串就是 "0",否则返回的字符串中不能含…

ClickHouse小记

1、ClickHouse简介 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),使用 C 语言编写,主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报 告。 官网&a…

该死,面试里怎么有那么多套路,我离字节只有一步之遥

自我介绍 不要想着简历上都有为什么还要自我介绍,这里主要考查的是求职者的表达能力和基本素质。重点体现自己的经历优势以及主动积极的态度。 从业时间,教育背景,工作经验,擅长技能,你的性格。 个人技能&#xff1a…

用BEM和现代CSS选择器控制级联

本文为 360 奇舞团前端工程师翻译原文标题:Taming the Cascade With BEM and Modern CSS Selectors原文作者:Liam Johnston原文地址:https://css-tricks.com/taming-the-cascade-with-bem-and-modern-css-selectors/BEM。就像前端开发领域的所…

免费且好用的ssh工具FinalShell的下载与安装

一、FinalShell介绍 1.1 特色功能 云端同步,免费海外服务器远程桌面加速,ssh加速,本地化命令输入框,支持自动补全,命令历史,自定义命令参数。 1.2 主要特性 1.多平台支持Windows,macOS,Linux; 2.多标签,批量服务器管理; 3.支持登录ssh和Windows远程桌…

页面预加载优化实践

概述在客户端开发中,列表类型页面大多都依赖网络请求,需要等网络数据请求下来后再刷新页面。但遇到网络请求慢的场景,就会导致页面加载很慢甚至加载失败。我负责会员的商品列表页面,在业务场景中,页面元素比较复杂&…

【从零开始学习 UVM】10.2、UVM TLM —— UVM TLM Blocking Put Port

文章目录 UVM TLM Port Example1. 创建一个发送器类,其端口类型为 uvm_blocking_put_port2. 创建一个接收器类,实现 put 方法。3. 在更高层次上连接端口及其实现Put Port 阻塞行为任何组件都可以通过 TLM put port向另一个组件发送事务。接收组件应该定义 put port的实现。这…

KDWS-24便携式六氟化硫气体微量水份测定仪

一、技术特点 (1)自校准:传感器探头可自动校准零点,自动消除因零点、漂移而引入的系统误差,保证每次测量的准确性,同时可免去每年校验的繁琐。 (2)快速省气:开机进入测量状态后每SF6气隔露点测定时间为2min左右。 (3)…

【动手学习深度学习笔记】

第二章预备知识 节省内存:使⽤切⽚表⽰法将操作的结果分配给先前分配的数组 Z[:] XY就可以把结果覆盖在Z的原内存上,而不是新开辟内存,就节省了内存了 处理缺失值 inputs,outputs data.iloc[:,0:2],data.iloc[:,2] # iloc为位置索引 in…

rk3568 Android 添加IR遥控器

rk3568 添加IR遥控器 生活中充满了各种波长的电磁波,所谓的可见(色)光就是人眼可见的电磁波谱,其波长为 380~770nm,为了避免遥控器发射的光造成人眼不适及减少一般人造光源干扰,故选用人眼不可见的红外线(Infrared)波长&#xff…

Python 基础(六):基本数据类型

❤️ 博客主页:水滴技术 🌸 订阅专栏:Python 入门核心技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 文章目录一、字符串类型(str)1.1、引号嵌套1.2、转义字符1.3、改变大小写…

(论文加源码)基于deap数据集的transformer结合注意力机制脑电情绪识别

本篇论文是2021年新发表的一篇论文。也是目前有源码的论文中唯一一篇使用transformer模型和注意力机制的论文源码(pytorch和tensorflow版本均有) 论文及源码见个人主页: https://download.csdn.net/download/qq_45874683/87658878 &#xf…

ROS 2(二)熟悉ROS 2的使用和工具(turtlesim\ros2\rqt)

参考内容:http://docs.ros.org/en/humble/Tutorials/Beginner-CLI-Tools/Introducing-Turtlesim/Introducing-Turtlesim.html 1.简介 Turtlesim是一个用于学习ROS 2的轻量级模拟器。它说明了ROS 2在最基本的层面上所做的事情,便于了解以后如何处理真实的…

【面试】MyBatis面试题

文章目录MyBatis简介MyBatis是什么?Mybatis优缺点Hibernate 和 MyBatis 的区别ORM是什么为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?传统JDBC开发存在什么问题?JDBC编程有哪些不足之处,MyBatis是如何…

【01 Capture Framework】

HAL3的Capture主要由HwNode中的P2CaptureNode以及其中的sub module来完成。 1. P2CaptureNode Overview P2CaptureNode也是继承自BaseNode以及IPipelineNode。其中组件主要有: 其中, P2CaptureNode:属于HwNode,重写了父类的init/config/queue/flush接口; P2CaptureProce…

蓝牙耳机品牌推荐:2023年降噪蓝牙耳机性价比推荐

每天上下班的地铁公交里,总会有很多嘈杂的声音发出,所以现在越来越多人选择佩戴一款降噪耳机来缓解消除一天的疲劳,在属于自己的空间里听听音乐。下面我推荐几款不错质量好的降噪耳机给大家,一起看看吧。 一、NANK南卡A2 价格&a…

Shell笔记--使用系统函数、自定义函数和Shell工具

​​​​​​​ 目录 1--basename和dirname系统函数 2--自定义函数 3--Shell常用工具 3-1--cut 3-2--sort 1--basename和dirname系统函数 ① basename 基本用法:basename [string / pathname] [suffix] basename:删除最后一个 / 字符(…

接触过的第一台电脑-90年代的x86与如今的树莓派

#勤写标兵挑战赛#最早接触电脑是在幼儿园,那时候电脑下象棋都要输入命令行的。后来小学时候有了电脑课,要穿鞋套的。满满的回忆。那个时代电子产品更新很慢的,一台电脑可以用5年,286-386-486-586。486电脑的特点是:处理…

从零开始,三分钟内用Python快速自建一个私有化 ChatGpt 聊天机器人网站

用 Python 构建由 gpt-3.5-turbo API 支持的聊天机器人网站自2023年3月1日发布“ChatGPT API”以来,已经开发出了数千个基于该API的应用程序,为企业和个人开启了新的可能性时代。借助GPT-3.5的自然语言处理能力,用户可以创建能够无缝与人交互…

spring中产生bean的几种方式

BeanImportMyImportSelector implements ImportSelectorMyImportBeanDefinitionRegistarimplements ImportBeanDefinitionRegistrarFactoryBean这里着重讲解FactoryBean如何判断当前bean是否是FactoryBeanorg.springframework.beans.factory.support.AbstractBeanFactory#isFac…