暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL13.0流复制尝鲜

文章转载自公众号:数据库架构;作者:PGer

postgresql13.0于2020年9月21日正式发布,话说现在pg的大版本从10开始发生了变化,以第一个数字代表一个大版本更新,而9之前的版本则是以9.1->9.2->9.x这样代表大版本更新。所以现在看起来pg的更新好像越来越快了,每个版本其实更新的内容不是很多。13发布后下载来了源码尝尝鲜,源码编译上没有什么改变,依旧很简单很亲和,四条简单的命令完成编译安装,对平台兼容性也很好。

其实pg从12版本开始就已经对流复制这块做了改动,最大的变化是摒弃了recovery.conf文件,将主备连接信息放入postgresql.conf主配置文件中。如果依旧使用recovery.conf方式配置主从会在启动数据库时报recovery.conf方式依旧不再支持。下面以pg13版本为例看看部署过程。

主备库源码编译安装数据库,此步骤略。

1.主库创建角色用于复制:

postgres=# create role replica login replication encrypted password 'replica';CREATE ROLE

2.主库增加pg_hba.conf

host    all             all             192.168.1.2/32          trusthost replication replica  192.168.1.2/32  md5

3.从库执行基础备份

[postgres@db02 ~]$ pg_basebackup -h 192.168.1.1 -U replica -D /pgdata/pginst1 -X stream -P -RPassword:24283/24283 kB (100%), 1/1 tablespace

-R选项会使用恢复模式创建standby.signal文件,同时将primary_conninfo写入postgresql.auto.conf文件,如下

primary_conninfo = 'user=replica password=replica channel_binding=disable host=192.168.1.1 port=5432 sslmode=disable sslcompression=0 ssl_min_protocol_version=TLSv1.2 gssencmode=disable krbsrvname=postgres target_session_attrs=any'

4.启动备库

[postgres@db02 ~]$ pg_ctl start -l logfilewaiting for server to start.... doneserver started

5.查看复制关系

主库:

test=# \xExpanded display is on.test=# select * from pg_stat_replication;-[ RECORD 1 ]----+------------------------------pid              | 338819usesysid         | 16384usename          | replicaapplication_name | walreceiverclient_addr      | 192.168.1.2client_hostname  |client_port      | 44376backend_start    | 2020-10-11 15:18:59.227516+08backend_xmin     |state            | streamingsent_lsn         | 0/70128F8write_lsn        | 0/70128F8flush_lsn        | 0/70128F8replay_lsn       | 0/70128F8write_lag        |flush_lag        |replay_lag       |sync_priority    | 0sync_state       | asyncreply_time       | 2020-10-11 15:21:22.18738+08

从库:

test=# \xExpanded display is on.test=# select * from pg_stat_wal_receiver;-[ RECORD 1 ]---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------pid                   | 337933status                | streamingreceive_start_lsn     | 0/7000000receive_start_tli     | 1written_lsn           | 0/70128F8flushed_lsn           | 0/70128F8received_tli          | 1last_msg_send_time    | 2020-10-11 15:21:42.680431+08last_msg_receipt_time | 2020-10-11 15:21:42.250019+08latest_end_lsn        | 0/70128F8latest_end_time       | 2020-10-11 15:20:42.502513+08slot_name             |sender_host           | 192.168.1.1sender_port           | 5432conninfo              | user=replica password=******** channel_binding=disable dbname=replication host=192.168.1.1 port=5432 fallback_application_name=walreceiver sslmode=disable sslcompression=0 ssl_min_protocol_version=TLSv1.2 gssencmode=disable krbsrvname=postgres target_session_attrs=any

规模空前,再创历史 | 2020 PG亚洲大会圆满结束
PG ACE计划的正式发布
三期PostgreSQL国际线上沙龙活动的举办
六期PostgreSQL国内线上沙龙活动的举办

中国PostgreSQL分会与腾讯云战略合作协议签订

PostgreSQL 13.0 正式版发布通告

深度报告:开源协议那些事儿

从“非主流”到“潮流”,开源早已值得拥有

Oracle中国正在进行新一轮裁员,传 N+6 补偿

PostgreSQL与MySQL版权比较

新闻|Babelfish使PostgreSQL直接兼容SQL Server应用程序

四年三冠,PostgreSQL再度荣获“年度数据库”

更多新闻资讯行业动态技术热点请关注中国PostgreSQL分会官方网站

http://www.postgresqlchina.com

中国PostgreSQL分会生态产品

http://www.pgfans.cn

中国PostgreSQL分会资源下载站

http://postgreshub.cn

 点击此处阅读原文

↓↓↓

文章转载自开源软件联盟PostgreSQL分会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论