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&…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...
接口 RESTful 中的超媒体:REST 架构的灵魂驱动
在 RESTful 架构中,** 超媒体(Hypermedia)** 是一个核心概念,它体现了 REST 的 “表述性状态转移(Representational State Transfer)” 的本质,也是区分 “真 RESTful API” 与 “伪 RESTful AP…...
