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

pg_standby备库搭建

1.主库

1.1主库参数文件修改

-- 该路径也需要在从库创建
mkdir -p /postgresql/archive
chown -R postgres.postgres /postgresql/archive-- 主库配置归档
wal_level='replica'
archive_mode='on'
archive_command='cp %p /postgresql/archive/%f'
restore_command='cp /postgresql/archive/%f %p'max_wal_senders=10
wal_sender_timeout=60s
wal_keep_size=256--重启数据库
pg_ctl stop
pg_ctl start

1.2 查看pg进程信息

[root@test archive]# ps -ef|grep post
root      1485     1  0 08:57 ?        00:00:00 /usr/libexec/postfix/master -w
postfix   1502  1485  0 08:57 ?        00:00:00 qmgr -l -t unix -u
postfix  18200  1485  0 13:55 ?        00:00:00 pickup -l -t unix -u
pgsql    22160     1  0 14:12 ?        00:00:00 /postgresql/pg13/bin/postgres
pgsql    22162 22160  0 14:12 ?        00:00:00 postgres: logger
pgsql    22164 22160  0 14:12 ?        00:00:00 postgres: checkpointer
pgsql    22165 22160  0 14:12 ?        00:00:00 postgres: background writer
pgsql    22166 22160  0 14:12 ?        00:00:00 postgres: walwriter
pgsql    22167 22160  0 14:12 ?        00:00:00 postgres: autovacuum launcher
pgsql    22168 22160  0 14:12 ?        00:00:00 postgres: archiver
pgsql    22169 22160  0 14:12 ?        00:00:00 postgres: stats collector
pgsql    22170 22160  0 14:12 ?        00:00:00 postgres: logical replication launcher
pgsql    22172 22160  0 14:12 ?        00:00:00 postgres: walsender pgsql 192.168.56.125(40206) streaming 0/B0000D8
pgsql    22174  2756  0 14:12 pts/0    00:00:00 rlwrap psql -h 192.168.56.100 -p 5432 postgres pgsql
pgsql    22175 22174  0 14:12 pts/1    00:00:00 psql -h 192.168.56.100 -p 5432 postgres pgsql
pgsql    22180 22160  0 14:12 ?        00:00:00 postgres: pgsql postgres 192.168.56.100(64860) idle
root     22192 13050  0 14:12 pts/2    00:00:00 grep --color=auto post

1.3查看归档信息

select * from pg_settings where name in ('wal_level','archive_mode','archive_command');
--切换归档
select pg_switch_wal();
--查看归档状态
test=# select * from pg_stat_get_archiver();
-[ RECORD 1 ]------+-----------------------------------------
archived_count     | 8
last_archived_wal  | 000000010000000000000008.00000028.backup
last_archived_time | 2023-07-28 10:44:59.302381+08
failed_count       | 0
last_failed_wal    |
last_failed_time   |
stats_reset        | 2023-07-27 16:35:50.49841+08--操作系统级别
[root@test archive]# pwd
/postgresql/archive
[root@test archive]#ll
-rw------- 1 pgsql pgsql 16777216 Jul 28 10:17 000000010000000000000001
-rw------- 1 pgsql pgsql 16777216 Jul 28 10:17 000000010000000000000002
-rw------- 1 pgsql pgsql 16777216 Jul 28 10:18 000000010000000000000003
-rw------- 1 pgsql pgsql 16777216 Jul 28 10:19 000000010000000000000004
-rw------- 1 pgsql pgsql 16777216 Jul 28 10:21 000000010000000000000005
-rw------- 1 pgsql pgsql 16777216 Jul 28 10:25 000000010000000000000006
-rw------- 1 pgsql pgsql 16777216 Jul 28 10:44 000000010000000000000007
-rw------- 1 pgsql pgsql 16777216 Jul 28 10:44 000000010000000000000008
-rw------- 1 pgsql pgsql      322 Jul 28 10:44 000000010000000000000008.00000028.backup

1.4切换日之后查看pg进程信息

[root@test archive]# ps -ef|grep post
root      1485     1  0 08:57 ?        00:00:00 /usr/libexec/postfix/master -w
postfix   1502  1485  0 08:57 ?        00:00:00 qmgr -l -t unix -u
postfix  18200  1485  0 13:55 ?        00:00:00 pickup -l -t unix -u
pgsql    22160     1  0 14:12 ?        00:00:00 /postgresql/pg13/bin/postgres
pgsql    22162 22160  0 14:12 ?        00:00:00 postgres: logger
pgsql    22164 22160  0 14:12 ?        00:00:00 postgres: checkpointer
pgsql    22165 22160  0 14:12 ?        00:00:00 postgres: background writer
pgsql    22166 22160  0 14:12 ?        00:00:00 postgres: walwriter
pgsql    22167 22160  0 14:12 ?        00:00:00 postgres: autovacuum launcher
pgsql    22168 22160  0 14:12 ?        00:00:00 postgres: archiver last was 00000001000000000000000B
pgsql    22169 22160  0 14:12 ?        00:00:00 postgres: stats collector
pgsql    22170 22160  0 14:12 ?        00:00:00 postgres: logical replication launcher
pgsql    22172 22160  0 14:12 ?        00:00:00 postgres: walsender pgsql 192.168.56.125(40206) streaming 0/C000060
pgsql    22174  2756  0 14:12 pts/0    00:00:00 rlwrap psql -h 192.168.56.100 -p 5432 postgres pgsql
pgsql    22175 22174  0 14:12 pts/1    00:00:00 psql -h 192.168.56.100 -p 5432 postgres pgsql
pgsql    22180 22160  0 14:12 ?        00:00:00 postgres: pgsql postgres 192.168.56.100(64860) idle
root     22324 13050  0 14:15 pts/2    00:00:00 grep --color=auto post

1.5 备份

--主库创建复制用户
create role repuser login encrypted password 'reppasswd' replication;

2.standby库

--创建备份路径
mkdir -p /bk
chown pgsql.pgsql /bk-- 远程备份
su - postgres
pg_basebackup -h 192.168.56.100 -p 5432 -U pgsql -l bk20230728 -F p -P -R -D /bk[root@pg ~]# ll /bk/
-rw-------. 1 pgsql pgsql      0 Jul 27 22:44 standby.signal-- 关闭从库,删除从库的数据文件,并且将备份文件覆盖从库的数据文件
pg_ctl stop
mv /postgresql/pgdata   /postgresql/20230728pgdata
mkdir /postgresql/pgdata
chmod 700 /postgresql/pgdata
cp -r /bk/* /postgresql/pgdata--修改配置文件
cat >> /postgresql/pgdata/postgresql.conf <<"EOF"
wal_level='replica'
archive_mode='on'
archive_command='cp %p /postgresql/archive/%f'
restore_command='cp /postgresql/archive/%f %p'max_wal_senders=10
wal_sender_timeout=60s
wal_keep_size=256
primary_conninfo = 'host=192.168.56.100 port=5432 user=repuser password=reppasswd'EOF--重启
pg_ctl stop
pg_ctl start

3.主备状态查看

3.1日志状态查看

--主库查看wal日志发送状态
postgres=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid              | 22172
usesysid         | 16384
usename          | pgsql
application_name | walreceiver
client_addr      | 192.168.56.125
client_hostname  |
client_port      | 40206
backend_start    | 2023-07-28 14:12:26.157227+08
backend_xmin     |
state            | streaming
sent_lsn         | 0/C000148
write_lsn        | 0/C000148
flush_lsn        | 0/C000148
replay_lsn       | 0/C000148
write_lag        |
flush_lag        |
replay_lag       |
sync_priority    | 0
sync_state       | async
reply_time       | 2023-07-28 14:23:09.779059+08--从库查看wal日志接收状态
test=# select * from pg_stat_wal_receiver;
-[ RECORD 1 ]---------+------------------------------------------------------------------------------------------------------------
pid                   | 2106
status                | streaming
receive_start_lsn     | 0/B000000
receive_start_tli     | 1
written_lsn           | 0/C000148
flushed_lsn           | 0/C000148
received_tli          | 1
last_msg_send_time    | 2023-07-28 14:25:29.789323+08
last_msg_receipt_time | 2023-07-28 14:25:29.7901+08
latest_end_lsn        | 0/C000148
latest_end_time       | 2023-07-28 14:17:29.470132+08
slot_name             |
sender_host           | 192.168.56.100
sender_port           | 5432
conninfo              | user=pgsql password=******** channel_binding=disable dbname=replication host=192.168.56.100 port=5432 fallback_application_name=walreceiver sslmode=disable sslcompression=0 ssl_min_protocol_version=TLSv1.2 gssencmode=disable krbsrvname=postgres target_session_attrs=any

3.2 通过控制文件查看主备状态

--主
[pgsql@test ~]$ /postgresql/pg13/bin/pg_controldata | grep state
Database cluster state:               in production--备
[pgsql@pg pgdata]$  /postgresql/pg13/bin/pg_controldata | grep state
Database cluster state:               in archive recovery

3.3通过恢复状态确认主备

--主
postgres=# select pg_is_in_recovery();
-[ RECORD 1 ]-----+--
pg_is_in_recovery | f--备
test=# select pg_is_in_recovery();
-[ RECORD 1 ]-----+--
pg_is_in_recovery | t

至此,standby部署完成

相关文章:

pg_standby备库搭建

1.主库 1.1主库参数文件修改 -- 该路径也需要在从库创建 mkdir -p /postgresql/archive chown -R postgres.postgres /postgresql/archive-- 主库配置归档 wal_levelreplica archive_modeon archive_commandcp %p /postgresql/archive/%f restore_commandcp /postgresql/arch…...

RNNLSTM

文章目录 前言引言应用示例-槽填充(slot filling)-订票系统二、循环神经网络(RNN)三、Long Short-term Memory (LSTM)LSTM原理[总结](https://zhuanlan.zhihu.com/p/42717426)LSTM例子lstm的训练RNN不但可以N2NMany2One(输入是一个矢量序列,但输出只有一个矢量)Many2Ma…...

到底什么是前后端分离

目录 Web 应用的开发主要有两种模式&#xff1a; 前后端不分离 前后端分离 总结 Web 应用的开发主要有两种模式&#xff1a; 前后端不分离 前后端分离 理解它们的区别有助于我们进行对应产品的测试工作。 前后端不分离 在早期&#xff0c;Web 应用开发主要采用前后端不…...

【React】精选5题

第1题&#xff1a;简述下 React 的生命周期&#xff1f;每个生命周期都做了什么&#xff1f; React 组件的生命周期可以分为三个阶段&#xff1a;挂载阶段、更新阶段和卸载阶段。每个生命周期方法都有特定的目的和功能。 挂载阶段&#xff1a; constructor&#xff1a;组件的构…...

MUR2080CT- ASEMI二极管的特性和应用

编辑-Z 本文将详细介绍MUR2080CT二极管的特性和应用。首先&#xff0c;将介绍MUR2080CT二极管的基本结构和工作原理。然后&#xff0c;将探讨MUR2080CT二极管的特性&#xff0c;包括正向电压降、反向漏电流和反向恢复时间等。接下来&#xff0c;将介绍MUR2080CT二极管在电源、…...

安全测试国家标准解读——资源管理和内存管理

下面的系列文章主要围绕《GB/T 38674—2020 信息安全技术 应用软件安全编程指南》进行讲解&#xff0c;该标准是2020年4月28日&#xff0c;由国家市场监督管理总局、国家标准化管理委员会发布&#xff0c;2020年11月01日开始实施。我们对该标准中一些常见的漏洞进行了梳理&…...

3D元宇宙游戏,或许能引爆新的文娱消费增长点

从去年开始&#xff0c;在互联网上&#xff0c;一个名为【神念无界-源起山海】的元宇宙游戏项目火了。除了可以在游戏内体验独战、团队式作战等3D古风经典游戏场景和玩法&#xff0c;还有钓鱼增加能量、情侣姻缘一线牵&#xff0c;结婚等多元化逼真效果与玩法&#xff0c;这令很…...

(学习笔记-IP)IP基础知识

基本认识 IP在TCP/IP参考模型中处于第三层&#xff0c;也就是网络层。 网络层的主要作用是&#xff1a;实现主机与主机之间的通信&#xff0c;也叫点对点的通信。 网络层与数据链路层的关系&#xff1a; MAC的作用是实现直连的两个设备之间通信&#xff0c;而IP负责没有直连的…...

神经数据库:用于使用 ChatGPT 构建专用 AI 代理的下一代上下文检索系统 — (第 2/3 部分)

书接上回理解构建LLM驱动的聊天机器人时的向量数据库检索的局限性 - &#xff08;第1/3部分&#xff09;_阿尔法旺旺的博客-CSDN博客 其中我们强调了&#xff08;1&#xff09;嵌入生成&#xff0c;然后&#xff08;2&#xff09;使用近似近邻&#xff08;ANN&#xff09;搜索…...

一文6个概念从0到1带你成功入门自动化测试【0基础也能看懂系列】

自动化测试有以下几个概念&#xff1a; 单元测试集成测试E2E 测试快照测试测试覆盖率TDD 以及 BDD 等 简述 项目开发过程中会有几个经历。 版本发布上线之前&#xff0c;会有好几个小时甚至是更长时间对应用进行测试&#xff0c;这个过程非常枯燥而痛苦代码的复杂度达到了一…...

C++OpenCV(5):图像模糊操作(四种滤波方法)

&#x1f506; 文章首发于我的个人博客&#xff1a;欢迎大佬们来逛逛 &#x1f506; OpenCV项目地址及源代码&#xff1a;点击这里 文章目录 图像模糊操作均值滤波高斯滤波中值滤波双边滤波 图像模糊操作 关于图片的噪声&#xff1a;指的是图片中存在的不必要或者多余的干扰数…...

关于质数筛——数论

埃式筛法 #include <bits/stdc.h> using namespace std; bool vis[100000010]; //标记数组 int n; int main(){scanf("%d",&n);vis[0]vis[1]1;for(int i2;i*i<n;i){ //优化1 if(vis[i]!1){for(int ji*i;j<n;ji){ //优化2 vis[j]1; //0是质数&#…...

Spring Boot 应用程序生命周期扩展点妙用

文章目录 前言1. 应用程序生命周期扩展点2. 使用场景示例2.1 SpringApplicationRunListener2.2 ApplicationEnvironmentPreparedEvent2.3 ApplicationPreparedEvent2.4 ApplicationStartedEvent2.5 ApplicationReadyEvent2.6 ApplicationFailedEvent2.7 ApplicationRunner 3. 参…...

【Nodejs】操作mongodb数据库

1.简介 Mongoose是一个让我们可以通过Node来操作MongoDB的模块。Mongoose是一个对象文档模型(ODM)库,它对Node原生的MongoDB模块进行了进一步的优化封装&#xff0c;并提供了更多的功能。在大多数情况下&#xff0c;它被用来把结构化的模式应用到一个MongoDB集合&#xff0c;并…...

SQL-每日一题【619.只出现一次的最大数字】

题目 MyNumbers 表&#xff1a; 单一数字 是在 MyNumbers 表中只出现一次的数字。 请你编写一个 SQL 查询来报告最大的 单一数字 。如果不存在 单一数字 &#xff0c;查询需报告 null 。 查询结果如下例所示。 示例 1&#xff1a; 示例 2&#xff1a; 解题思路 1.题目要求我…...

紫光FPGA试用--软件篇

目录 一 软件安装启动 二 如何打开IP核&#xff1f;查看/修改现有IP核参数&#xff1f; 三 如何定义引脚&#xff1f; 四 如何下载code进入FPGA? 1. 下载到FPGA芯片内&#xff1a; 2.下载到外部FLASH中 五 如何进入在线调试模式&#xff0c;调试步骤 操作步骤&#xff…...

PDF添加水印以及防止被删除、防止编辑与打印

方法记录如下&#xff1a; 1、添加水印&#xff1b; 2、打印输出成一个新的pdf&#xff1b; 3、将pdf页面输出成一张张的图片&#xff1a;&#xff08;福昕pdf操作步骤如下&#xff09; 4、将图片组装成一个新的pdf&#xff1a;&#xff08;福昕pdf操作步骤如下&#xff09;…...

el-tree转换为表格样式的记录2

上一篇文章记录的是自己将树状数据转换为表格形式。但是出现了一个小bug&#xff0c;点击子节点时候会选中父节点&#xff0c;这个是正常需求没问题。但是我点击父节点时候取消所有子节点&#xff0c;父节点 选择也会失去&#xff0c;这是我不想要执行的。例如一个页面里面有主…...

MS1826B HDMI 1进4出 视频拼接芯片

MS1826B 是一款多功能视频处理器&#xff0c;包含 4 路独立 HDMI 音视频输出通道、1 路 HDMI 音视 频输入通道以及 1 路独立可配置为输入或者输出的 SPDIF、I2S 音频信号。支持 4 个独立的字库定 制型 OSD&#xff1b;可处理隔行和逐行视频或者图形输入信号&#xff1b;有四路独…...

Spring之注解

SpringIOC注解 组件添加标记注解&#xff1a; ​ Component&#xff1a;该注解标记类表示该类为一个普通类&#xff0c;表示为IOC中的一个组件bean ​ Repository&#xff1a;该注解用于将数据访问层&#xff08;Dao层&#xff09;的类标识为Spring中的Bean ​ Service&…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

全面解析数据库:从基础概念到前沿应用​

在数字化时代&#xff0c;数据已成为企业和社会发展的核心资产&#xff0c;而数据库作为存储、管理和处理数据的关键工具&#xff0c;在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理&#xff0c;到社交网络的用户数据存储&#xff0c;再到金融行业的交易记录处理&a…...