PostgreSQL13基于流复制搭建后备服务器的方法

 更新时间:2022年01月14日 14:09:18   作者:明矾  
这篇文章主要介绍了PostgreSQL13基于流复制搭建后备服务器,后备服务器作为主服务器的数据备份,可以保障数据不丢,而且在主服务器发生故障后可以提升为主服务器继续提供服务。需要的朋友可以参考下

pg的高可用、负载均衡和复制特性矩阵如下

后备服务器作为主服务器的数据备份,可以保障数据不丢,而且在主服务器发生故障后可以提升为主服务器继续提供服务。

实际操作

1、参数配置

首先配置主机的postgresql.conf

vim /usr/local/pgsql/data/postgresql.conf

listen_addresses = '*'
wal_level = hot_standby
max_wal_senders = 10
max_replication_slots = 10
hot_standby = on # 主要用来备库配置,主库配置无影响
wal_keep_size = 1GB  #pg13后配置,之前是wal_keep_segments
wal_log_hints = on  #pg_rewind必须参数
full_page_writes = on

然后配置主机的pg_hba.conf

vim /usr/local/pgsql/data/pg_hba.conf
host    replication     all      0.0.0.0/0     trust #新增

2、使用pg_basebackup创建备机数据库

pg_basebackup -D ../data1 -U postgres  -Fp -X stream -R  -P -v -p54321 -h 127.0.0.1

解释一下常用参数

pg_basebackup被用于获得一个正在运行的PostgreSQL数据库集簇的基础备份。

-D directory

将输出写到哪个目录。如果必要,pg_basebackup将创建该目录及任何父目录。

-Fp

把输出写成平面文件,使用和当前数据目录和表空间相同的布局。

-Xstream

在备份被创建时通过流复制传送预写式日志。这将开启一个到服务器的第二连接并且在运行备份时并行开始流传输预写式日志。

-R

--write-recovery-conf

在输出目录中(或者当使用 tar 格式时在基础归档文件中)建立 standby.signal 并附加连接设置到postgresql.auto.conf 来简化设置一个后备服务器。postgresql.auto.conf文件将记录连接设置(如果有)以及pg_basebackup所使用的复制槽,这样流复制后面就会使用相同的设置。

-P

--progress

启用进度报告。

-v

--verbose

启用冗长模式,可以理解为输出备份过程数据。

3、启动备机数据库服务器

echo "port=54322" >> /usr/local/pgsql/data1/postgresql.conf
pg_ctl -D /usr/local/pgsql/data1 start

4、检查

登录主机查看流复制关系

psql -Upostgres -dpostgres -p54321
select * from pg_stat_replication;

主机插入数据

./psql -Upostgres -dpostgres -p54321
create table t1 (id int ,name varchar);
insert into t1 values (1,'cli');

备机查询数据,数据同步成功

psql -Upostgres -dpostgres -p54322
select * from t1;

至此,一个简单的后备服务器就搭建好了。

但行好事,莫问前程

到此这篇关于PostgreSQL13基于流复制搭建后备服务器的文章就介绍到这了,更多相关PostgreSQL13搭建后备服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • postgresql 切换 log、xlog日志的实现

    postgresql 切换 log、xlog日志的实现

    这篇文章主要介绍了postgresql 切换 log、xlog日志的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 详解PostgreSQL启动停止命令(重启)

    详解PostgreSQL启动停止命令(重启)

    这篇文章主要介绍了PostgreSQL启动停止命令(重启)的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • postgresql安装及配置超详细教程

    postgresql安装及配置超详细教程

    这篇文章主要介绍了postgresql安装及配置超详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • PostgreSQL数据库事务插入删除及更新操作示例

    PostgreSQL数据库事务插入删除及更新操作示例

    这篇文章主要为大家介绍了PostgreSQL事务的插入删除及更新操作示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • PostgreSQL排查连接锁问题的常用SQL语句

    PostgreSQL排查连接锁问题的常用SQL语句

    正常情况下,PostgreSQL只要连上了就能愉快地使用了,但是在一些特别的场景,如压测或者某些不可描述的异常,会出现数据库连接异常的情况,比如连接数占满了,所以本文给大家介绍了PostgreSQL排查连接锁问题的常用SQL语句,需要的朋友可以参考下
    2024-04-04
  • PostgreSQL如何查看数据库及表中数据占用空间大小详解

    PostgreSQL如何查看数据库及表中数据占用空间大小详解

    这篇文章主要介绍了PostgreSQL中用于查看数据库和表空间大小的函数,并提供了每个函数的详细说明和应用场景,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-02-02
  • PostgreSQL实现透视表查询的方法详解

    PostgreSQL实现透视表查询的方法详解

    PostgreSQL 8.3版本发布时,引入了一个名为tablefunc的新扩展,这个扩展提供了一组非常有趣的函数,其中之一是交叉表函数,用于创建数据透视表,这就是我们将在本文中讨论的内容,本文给大家介绍了PostgreSQL实现透视表查询的方法,需要的朋友可以参考下
    2024-12-12
  • pgsql的UUID生成函数实例

    pgsql的UUID生成函数实例

    这篇文章主要介绍了pgsql的UUID生成函数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL之分区表(partitioning)

    PostgreSQL之分区表(partitioning)

    通过合理的设计,可以将选择一定的规则,将大表切分多个不重不漏的子表,这就是传说中的partitioning。比如,我们可以按时间切分,每天一张子表,比如我们可以按照某其他字段分割,总之了就是化整为零,提高查询的效能
    2016-11-11
  • 如何解决PostgreSQL执行语句长时间卡着不动不报错也不执行的问题

    如何解决PostgreSQL执行语句长时间卡着不动不报错也不执行的问题

    某日开发同事上报一sql性能问题,一条查询好似一直跑不出结果,查询了n小时,还未返回结果,这篇文章主要给大家介绍了关于如何解决PostgreSQL执行语句长时间卡着不动不报错也不执行问题的相关资料,需要的朋友可以参考下
    2024-02-02

最新评论