当前位置: 首页 > 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&…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...

Linux操作系统共享Windows操作系统的文件

目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项&#xff0c;设置文件夹共享为总是启用&#xff0c;点击添加&#xff0c;可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download&#xff08;这是我共享的文件夹&#xff09;&…...

接口 RESTful 中的超媒体:REST 架构的灵魂驱动

在 RESTful 架构中&#xff0c;** 超媒体&#xff08;Hypermedia&#xff09;** 是一个核心概念&#xff0c;它体现了 REST 的 “表述性状态转移&#xff08;Representational State Transfer&#xff09;” 的本质&#xff0c;也是区分 “真 RESTful API” 与 “伪 RESTful AP…...