运行环境

操作系统:Debian 11.5
数 据 库:PostgreSQL 14.6
主数据库:192.168.8.68
从数据库:192.168.8.69

使用apt-get安装postgresql,安装方法可以参考 https://blog.csdn.net/itbs/article/details/127909359?spm=1001.2014.3001.5501
官方推荐是用源码安装,优点是可以指定安装位置,实现应用程序、配置文件、数据文件、日志文件在一个文件夹里。用apt-get安装文件位置是分散的,应用程序在/usr/lib/postgresql,配置文件在 /etc/postgresql,数据文件在 /var/lib/postgresql,安装过程比较简单

主库操作

1、创建同步账号

创建同步账号 repl,密码 repl

 su postgrespsqlcreate role repl login replication encrypted password 'repl';
2、修改pg_hba.conf

文件位置 /etc/postgresql/14/main 。在#replication下,增加下面内容

host replication repl    192.168.8.69/32     trust
3、修改postgresql.conf

文件位置 /etc/postgresql/14/main 。增加下面内容

wal_level = replica
archive_mode = on
archive_command = 'cp %p /opt/postgresql/pg_archive/%f'
max_wal_senders = 8
wal_sender_timeout = 60s

/opt/postgresql/pg_archive 这个路径中的文件夹要手动创建一下

4、主库重启
 systemctl restart postgresql

从库操作

1、测试从库访问主库
 psql -h 192.168.8.68 -U postgres

正确的情况下,输入密码即可访问

2、查询数据库的数据文件位置
 su postgrespsqlshow data_directory;

查看后用exit退出psql命令行。如果清楚文件所在位置,此步骤可以略过。

3、停止从库
 systemctl stop postgresql

如果使用posgres用户执行,需要输入root密码,用root用户执行不需要

4、清空从库数据库文件
 rm -rf   /var/lib/postgresql/14/main/*
5、从主库拉取数据
 pg_basebackup -h 192.168.8.68 -D /var/lib/postgresql/14/main -p 5432 -U repl -Fp -Xs -Pv -R --checkpoint=fast

-D 后面是主库数据库文件路径,如果配置了数据库文件地址,需要修改为配置后的路径

6、修改postgresql.conf
primary_conninfo = 'host=192.168.8.68 port=5432 user=repl password=repl'
recovery_target_timeline = latest
hot_standby = on
max_standby_streaming_delay = 30s
wal_receiver_status_interval = 10s
hot_standby_feedback = on
max_connections = 200  #要比主库连接数大,默认连接数是100
max_worker_processes = 20
7、启动从库
 systemctl start postgresql

同步状态查询

在主库执行,查询从库同步状态。可以新建表或者添加数据进行测试。

 select client_addr,usename,backend_start,application_name,sync_state,sync_priority FROM pg_stat_replication;

PostgreSQL主从数据库数据同步相关推荐

  1. mysql数据没有同步更新_解决MySQL的主从数据库没有同步的两种方法

    问题 今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master statu ...

  2. sqlserver2008基于发布/订阅功能实现主从数据库数据实时同步

    网上关于sqlserver基于发布/订阅实现数据同步的文章很多,大多介绍不详细,各种copy.为实现发布服务器.订阅服务器数据库实时同步,近期花了几天时间认真研究了一下,并实践验证通过,希望本文能帮助 ...

  3. postgresql主从备份_基于windows平台的postgresql主从数据库流备份配置

    基于windows平台的postgresql主从数据库流备份配置 因工作需要,需要搞pg数据库的主从备份,领导给了个方向使用流备份,于是开始朝着这个方向进发. 鸣谢大佬A_ccelerator的博客 ...

  4. mysql数据库主从不同步_MySQL数据库之mysql主从数据库不同步的2种解决方法

    本文主要向大家介绍了MySQL数据库之mysql主从数据库不同步的2种解决方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 今天发现Mysql的主从数据库没有同步 先上Mas ...

  5. mysql主从数据库不同步的2种解决方法(转)

    今天发现Mysql的主从数据库没有同步  先上Master库:  mysql>show processlist; 查看下进程是否Sleep太多.发现很正常.  show master statu ...

  6. mysql从库有张表不同步_mysql主从数据库不同步的2种解决方法

    mysql主从数据库不同步的2种解决方法 (2014-04-26 08:16:11) 标签: 今天 适用于 数据 今天收现Mysql的主从数据库没有同步 先上Master库: mysql>sho ...

  7. 袋鼠云数据库数据同步之flinkx1.10版入门-搭配flink1.11

    1.前提介绍 公司最近有个项目要做数据库之间的数据离线同步,经过调研在git上发现了袋鼠云的flinkx插件,感觉很好用,我们可以理解flnkx就是封装了同步操作的jar包,调用起来也很方便,我们只需 ...

  8. MySQL主从配置 主从数据库不同步的原因

    MySQL主从配置中,主从数据库不同步的原因可能有以下几种: 主库的binlog格式或版本与从库不匹配. 主库和从库之间网络问题导致数据传输中断. 主库和从库之间的时间不同步. 主从复制用户权限设置不 ...

  9. phpcms v9电脑pc站+手机wap移动端双模板共用数据库数据同步可同步生成静态文件

    phpcms v9电脑pc站+手机wap移动端双模板共用数据库数据同步可同步生成静态文件,并且电脑站和手机站网址页面一一对应,非插件,程序二次开发版. 详情如下: 1.phpcms v9电脑版+手机版 ...

最新文章

  1. poj 3984 迷宫问题 BFS
  2. js实现txt/excel文件下载
  3. 求数组的子数组之和的最大值IV
  4. 吴恩达深度学习课程deeplearning.ai课程作业:Class 1 Week 4 assignment4_2
  5. Android事件处理--读书笔记
  6. linux命令界面下载kettle,kettle在linux环境中打开图形界面-Go语言中文社区
  7. 吐槽一下Abp的用户和租户管理模块
  8. 作者:龚南宁,数据堂(北京)科技股份有限公司对外合作部副总监
  9. java基础类的继承_JAVA核心技术I---JAVA基础知识(类的继承)
  10. uploadify 初始化的时候会请求当前页面地址
  11. bootstrap带图标的按钮与图标做连接
  12. retrofit2 不创建对象直接返回字符串
  13. plsql快捷执行方式_UG编程必备的快捷键,收藏转发!
  14. MiniTable 可单选/取消单选.
  15. log4j自定义配置文件路径
  16. p6spy mysql8_P6Spy配置使用
  17. 部署和应用程序没有匹配的安全区域错误
  18. pygame坦克大战
  19. 一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。
  20. 概率论基础(4)五种重要的分布(二项、泊松、均匀、指数、正态分布)

热门文章

  1. 在UOS上安装Fuji Xerox DocuCentre S2520 系列的打印机
  2. 高校房产管理系统主要功能模块有哪些?
  3. k8s强制删除namespace
  4. 淘宝店铺后台接入阿奇索第三方平台订单推送功能,详细步骤和注意事项
  5. 新媒体运营葬送了多少人的前程
  6. java业务逻辑_java业务逻辑怎么写?
  7. 【原】WPF按钮或page获取焦点后,按backspace键,后退的解决方法
  8. linux 动态密码,DKEY for Linux/UNIX
  9. Windows 下编译 taglib
  10. 遍历和添加json对象的属性 和 遍历普通js对象的属性