postgresql 9.5 主主复制详细步骤

时间: 2023-09-27 15:05:49 浏览: 53
PostgreSQL 9.5支持主主复制,下面是详细的步骤: 1. 确保两个PostgreSQL服务器上都已经安装了9.5版本的PostgreSQL。 2. 在两台服务器上都创建一个数据库,假设它们的名称分别为db1和db2。 3. 在主服务器db1上修改postgresql.conf文件,启用复制功能。找到以下行并将其取消注释: ``` #listen_addresses = 'localhost' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) #wal_level = minimal # minimal, archive, hot_standby, or logical #max_wal_senders = 0 # max number of walsender processes # (change requires restart) #wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables ``` 将其修改为: ``` listen_addresses = '*' wal_level = hot_standby max_wal_senders = 10 wal_keep_segments = 500 ``` 其中,listen_addresses设置为通配符,表示接受任何IP地址的数据包;wal_level设置为hot_standby,表示开启热备;max_wal_senders设置为10,表示最大允许10个数据流发送到备份服务器;wal_keep_segments设置为500,表示保留的wal文件数目。 4. 在主服务器db1上修改pg_hba.conf文件,确保允许从备份服务器上访问主服务器。找到以下行并将其取消注释: ``` # IPv4 local connections: host all all 127.0.0.1/32 md5 ``` 将其修改为: ``` host all all 0.0.0.0/0 md5 ``` 其中,0.0.0.0/0表示允许任何IP地址的数据包访问。 5. 在主服务器db1上创建一个复制用户,用于从备份服务器上访问主服务器。执行以下命令: ``` CREATE USER replication_user REPLICATION LOGIN CONNECTION LIMIT 10 ENCRYPTED PASSWORD 'your_password'; ``` 其中,replication_user是自定义的用户名,your_password是自定义的密码。 6. 在备份服务器db2上修改postgresql.conf文件,启用复制功能。找到以下行并将其取消注释: ``` #listen_addresses = 'localhost' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) #wal_level = minimal # minimal, archive, hot_standby, or logical #max_wal_senders = 0 # max number of walsender processes # (change requires restart) #wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables ``` 将其修改为: ``` listen_addresses = '*' wal_level = hot_standby max_wal_senders = 10 wal_keep_segments = 500 hot_standby = on ``` 其中,listen_addresses设置为通配符,表示接受任何IP地址的数据包;wal_level设置为hot_standby,表示开启热备;max_wal_senders设置为10,表示最大允许10个数据流发送到备份服务器;wal_keep_segments设置为500,表示保留的wal文件数目;hot_standby设置为on,表示开启热备模式。 7. 在备份服务器db2上修改recovery.conf文件,用于指定备份服务器从主服务器上复制数据。在文件中添加以下内容: ``` standby_mode = 'on' primary_conninfo = 'host=<主服务器IP地址> port=5432 user=replication_user password=<replication_user的密码>' trigger_file = '/tmp/postgresql.trigger' ``` 其中,<主服务器IP地址>是主服务器的IP地址,replication_user的密码是步骤5中自定义的密码。 8. 将主服务器db1上的数据复制到备份服务器db2上。在备份服务器上执行以下命令: ``` pg_basebackup -h <主服务器IP地址> -D /var/lib/postgresql/9.5/main -U replication_user -P ``` 其中,<主服务器IP地址>是主服务器的IP地址,/var/lib/postgresql/9.5/main是备份服务器上数据存放的目录,replication_user是步骤5中自定义的用户名。 9. 在备份服务器db2上启动PostgreSQL服务。执行以下命令: ``` systemctl start postgresql ``` 10. 在主服务器上创建一个测试数据库,例如testdb,并向其中添加一些数据。 11. 在备份服务器db2上查看是否成功复制数据。执行以下命令: ``` psql -U postgres -c "select datname from pg_database;" ``` 如果看到testdb,则表示备份服务器上已经成功复制了主服务器上的数据。 以上就是PostgreSQL 9.5主主复制的详细步骤。

相关推荐

最新推荐

recommend-type

Postgresql主从异步流复制方案的深入探究

主要给大家介绍了关于Postgresql主从异步流复制方案的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Postgresql具有一起的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

PostgreSQL-10.0-逻辑复制原理与最佳实践

PostgreSQL-10.0-逻辑复制原理与最佳实践 PostgreSQL 从2010年发布的9.0开始支持流式物理复制,备库可以作为只读库打开,提供给用户使用。
recommend-type

PostgreSQL数据库复制与CDC实施方案.pdf

灵蜂Beedup工具 基于数据库日志复制机制之PostgreSQL 详细介绍用Beedup 工具产品实现功能的详细操作文档 图文并茂
recommend-type

CentOS7 安装 PostgreSQL11的方法步骤

主要介绍了CentOS7 安装 PostgreSQL11的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
recommend-type

Postgresql开启远程访问的步骤全纪录

postgre一般默认为本地连接,不支持远程访问,所以如果要开启远程访问,需要更改安装文件的配置。下面这篇文章主要给大家介绍了关于Postgresql开启远程访问的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

如何用python编写api接口

在Python中编写API接口可以使用多种框架,其中比较流行的有Flask和Django。这里以Flask框架为例,简单介绍如何编写API接口。 1. 安装Flask框架 使用pip命令安装Flask框架: ``` pip install flask ``` 2. 编写API接口 创建一个Python文件,例如app.py,编写以下代码: ```python from flask import Flask, jsonify app = Flask(__name__) @app.route('/api/hello', methods=['GET']) def hello():
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。