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 应用的开发主要有两种模式: 前后端不分离 前后端分离 总结 Web 应用的开发主要有两种模式: 前后端不分离 前后端分离 理解它们的区别有助于我们进行对应产品的测试工作。 前后端不分离 在早期,Web 应用开发主要采用前后端不…...

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

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

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

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

(学习笔记-IP)IP基础知识
基本认识 IP在TCP/IP参考模型中处于第三层,也就是网络层。 网络层的主要作用是:实现主机与主机之间的通信,也叫点对点的通信。 网络层与数据链路层的关系: MAC的作用是实现直连的两个设备之间通信,而IP负责没有直连的…...

神经数据库:用于使用 ChatGPT 构建专用 AI 代理的下一代上下文检索系统 — (第 2/3 部分)
书接上回理解构建LLM驱动的聊天机器人时的向量数据库检索的局限性 - (第1/3部分)_阿尔法旺旺的博客-CSDN博客 其中我们强调了(1)嵌入生成,然后(2)使用近似近邻(ANN)搜索…...

一文6个概念从0到1带你成功入门自动化测试【0基础也能看懂系列】
自动化测试有以下几个概念: 单元测试集成测试E2E 测试快照测试测试覆盖率TDD 以及 BDD 等 简述 项目开发过程中会有几个经历。 版本发布上线之前,会有好几个小时甚至是更长时间对应用进行测试,这个过程非常枯燥而痛苦代码的复杂度达到了一…...

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

关于质数筛——数论
埃式筛法 #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模块进行了进一步的优化封装,并提供了更多的功能。在大多数情况下,它被用来把结构化的模式应用到一个MongoDB集合,并…...

SQL-每日一题【619.只出现一次的最大数字】
题目 MyNumbers 表: 单一数字 是在 MyNumbers 表中只出现一次的数字。 请你编写一个 SQL 查询来报告最大的 单一数字 。如果不存在 单一数字 ,查询需报告 null 。 查询结果如下例所示。 示例 1: 示例 2: 解题思路 1.题目要求我…...

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

PDF添加水印以及防止被删除、防止编辑与打印
方法记录如下: 1、添加水印; 2、打印输出成一个新的pdf; 3、将pdf页面输出成一张张的图片:(福昕pdf操作步骤如下) 4、将图片组装成一个新的pdf:(福昕pdf操作步骤如下)…...

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

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

Spring之注解
SpringIOC注解 组件添加标记注解: Component:该注解标记类表示该类为一个普通类,表示为IOC中的一个组件bean Repository:该注解用于将数据访问层(Dao层)的类标识为Spring中的Bean Service&…...

【UniApp开发小程序】悬浮按钮+出售闲置商品+商品分类选择【基于若依管理系统开发】
文章目录 界面效果界面实现悬浮按钮实现商品分类选择界面使元素均匀分布 闲置商品描述信息填写界面价格校验 界面效果 【悬浮按钮】 【闲置商品描述信息填写界面】 【商品分类选择界面】 【分类选择完成】 界面实现 悬浮按钮实现 悬浮按钮漂浮于页面之上,等页面…...

一百三十三、Hive——Hive外部表加载含有JSON格式字段的CSV文件数据
一、目标 在Hive的ODS层建外部表,然后加载HDFS中的CSV文件数据 注意:CSV文件中含有未解析的JSON格式的字段数据,并且JSON字段中还有逗号 二、第一次建外部表,直接以,分隔行字段,结果JSON数据只显示一部分…...

rust gtk 桌面应用 demo
《精通Rust》里介绍了 GTK框架的开发,这篇博客记录并扩展一下。rust 可以用于桌面应用开发,我还挺惊讶的,大学的时候也有学习过 VC,对桌面编程一直都很感兴趣,而且一直有一种妄念,总觉得自己能开发一款很好…...

《嵌入式 - 工具》J-link读写MCU内部Flash
1 J-Link简介 J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11,Cortex M0/M1/M3/M4, Cortex A5/A8/A9等内核芯片的仿真,是学…...

算法练习-LeetCode1071. Greatest Common Divisor of Strings
题目地址:LeetCode - The Worlds Leading Online Programming Learning Platform Description: For two strings s and t, we say "t divides s" if and only if s t ... t (i.e., t is concatenated with itself one or more times). Given two strin…...

Nuget不小心用sudo下载后怎么在user里使用
问题发生 协同开发的过程中,同时在dotnet里面添加了nuget的grpc包,在不清楚的情况下执行自动生成脚本,下载nuget包失败,说是权限不足,于是就使用了sudo进行自动生成,结果在下一次重新打包的过程中ÿ…...

软件测试技能大赛环境搭建及系统部署报告
环境搭建及系统部署报告 环境搭建与配置过程(附图) JDK环境变量配置截图 【截取JDK环境变量配置截图】 查看JDK版本信息截图 【截取使用命令查看JDK版本信息截图,必须截取查看信息成功截图】 root账号成功登录MySQL截图 【截取使用root账…...

浅谈现代通信技术
目录 1.传统通信方法 2.传统通信方式的缺点 3.现代通信技术 4.现代通信技术给人类带来的福利 1.传统通信方法 传统通信方法指的是在数字化通信之前使用的传统的通信方式。以下是一些常见的传统通信方法: 1. 书信:通过邮件或快递等方式发送纸质信件。这…...

windows环境下adb 下载和配置,连接手机。
ADB下载地址: https://adbdownload.com/ 选择下载windows系统的。 下载后解压,查看adb.exe所在的目录,如下 这里将路径复制下来:D:\ADB 配置到系统环境变量中。 然后再打开cmd,输入adb version查看版本。 出现…...

[STL]list使用介绍
[STL]list使用 注:本文测试环境是visual studio2019。 文章目录 [STL]list使用1. list介绍2. 构造函数3. 迭代器相关函数begin函数和end函数rbegin函数和rend函数 4. 容量相关函数empty函数size函数 5. 数据修改函数push_back函数和pop_back函数push_front函数和pop…...