Postgresql - 检查数据库主从复制进度

本文介绍了在PostgreSQL中检查数据库主从复制状态的方法,包括通过pg_stat_replication视图查看复制信息,如PID、状态、地址和同步状态。同时,提供了计算备库相对于主库滞后字节数的SQL查询,以便于监控复制延迟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何查看主从复制的状态,且备库应用落后了多少字节

这些信息要在主库中查询

查看流复制的信息可以使用主库上的视图
select pid,state,client_addr,sync_priority,sync_state from pg_stat_replication;

pg_stat_replication中几个字断记录了发送wal的位置及备库接收到的wal的位置、
### 使用 Docker 配置 PostgreSQL 主从复制 #### 准备工作 为了确保能够顺利部署 PostgreSQL 的主从架构,在 Ubuntu 20.04 中先完成必要的准备工作。 安装 Docker 并验证其正常运行状态[^2]。接着,下载所需版本的 PostgreSQL 源码包至指定目录 `/home/yt/software/pg`: ```bash sudo su cd /home/yt/ mkdir -p software/pg cd /home/yt/software/pg apt install wget -y wget https://ftp.postgresql.org/pub/source/v14.6/postgresql-14.6.tar.gz ``` 不过,对于大多数用户来说,直接拉取官方提供的 Docker 镜像会更加便捷高效,无需手动编译源代码。 #### 创建主节点 (Master) 启动主服务器实例时,建议通过 `-e POSTGRES_PASSWORD=yourpassword` 设置密码参数来增强安全性,并挂载本地文件夹作为数据卷以便持久化存储: ```bash docker run --name master \ -e POSTGRES_USER=replica_user \ -e POSTGRES_PASSWORD=yourpassword \ -v /path/to/masterdata:/var/lib/postgresql/data \ -d postgres:14.6 ``` 这里 `POSTGRES_USER` 和 `POSTGRES_PASSWORD` 是用来设置用于复制操作的用户名及其对应的访问凭证;而 `/path/to/masterdata` 则应替换为实际路径下的目标位置。 #### 构建从节点 (Slave) 当主库已经成功上线之后,则可以着手准备备用机了。同样地,利用 Docker 命令快速构建一个新的容器实例充当副本角色: ```bash docker run --name slave \ -e POSTGRES_USER=replica_user \ -e POSTGRES_PASSWORD=yourpassword \ -v /path/toslavedata:/var/lib/postgresql/data \ -p 15432:5432 \ -d postgres:14.6 ``` 注意端口号映射部分做了调整 (`-p 15432:5432`) ,这有助于区分不同服务之间的通信地址冲突问题。 #### 初始化同步过程 为了让两个数据库之间建立联系并保持一致的状态,需要执行一次全量备份动作。借助于 pg_basebackup 工具可轻松达成此目的: ```bash pg_basebackup -h 192.168.1.1 -p 15432 -U replica_user -Fp -Xs -Pv -R -D /var/lib/postgresql/data ``` 上述命令中的选项含义如下: - `-h`: 指定远端主机 IP 地址; - `-U`: 登录账户名; - `-Fp`: 表明采用 tar 格式的物理拷贝方式; - `-Xs`: 启动流模式传输 WAL 日志条目; - `-Pv`: 显示进度信息以及详细输出; - `-R`: 自动生成 recovery.conf 文件以供后续恢复流程调用; - `-D`: 设定目的地路径。 一旦初始化完成后,便实现了从节点与主节点的数据一致性。 #### 测试连接性 最后一步就是确认整个集群能否稳定运作。可以通过 Navicat 等图形界面工具来进行直观检验,也可以编写简单的 SQL 查询语句测试读写分离效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值