PostgreSQL 双机热备 部署 Linux

2024-09-03 20:58

本文主要是介绍PostgreSQL 双机热备 部署 Linux,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       数据库库往往会允许存在一个与主库同步的在线数据库服务器。当主数据库出现故障的时候,备库可以快速提升为主数据并且提供服务,实现数据库服务的高可用。

    如果备份数据库在接收数据库同步数据的时候,不能提供查询功能,称为warm standby server

    如果备份数据库在接收数据库同步数据的时候,能够提供查询功能,称为hot standby server

基于时间点恢复(PITR)的原理:

    Postgresql 中在数据目录下存在一个 pg_xlog ( pg10 中已经进行了更改 ) 始终维护这一个 WAL 日志文件,这个日志文件可以记录数据库文件的每次改变。

    可以在数据库异常崩溃之后,通过重放最后一次的 checkpoint 点之后的日志文件,把数据库推到一致的状态。不停的重放WAL日志就可以把数据库推到备份结束后的任一个时间点,这就是基于时间点的备份(PITR)。

    使用简单的 cp 命令把整个数据库给在线拷贝过来的备份叫做 基础备份。

    后续WAL日志的备份与此基础备份构成一个完整备份。

    把基础备份恢复到另一台机器,然后不停的从原始数据库机器上接收 WAL 日志,在新机器上持续重放 WAL 日志。

    这样就可以在任意时间内的另一台机器上打开这个新产生的数据库,他拥有当前数据库的最新状态。这台新机器上的数据库被称为Standby数据库

    把 WAL 日志传输到另一台机器上的方式有两种。

  •      WAL 日志归档

            其实就是把在线的 WAL 日志备份出来,在 Postgresql 中配置归档的方法是配置 archive_command

  •      流复制

           使用流复制的时候,只要主库一产生日志,就会立马传递到备库。

          流复制传递日志的方式有两种:

  1.    同步流复制
  2.    异步流复制   

           同步流复制,会在同步成功之后,数据库的事务才会完成。

           异步流复制,备库会比主库落后几秒的时间

 

 

 

这篇关于PostgreSQL 双机热备 部署 Linux的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134033

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

[Linux]:进程(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 进程终止 1.1 进程退出的场景 进程退出只有以下三种情况: 代码运行完毕,结果正确。代码运行完毕,结果不正确。代码异常终止(进程崩溃)。 1.2 进程退出码 在编程中,我们通常认为main函数是代码的入口,但实际上它只是用户级