- 打开并编辑postgresql.conf , 并进行以下配置:
nano /etc/postgresql/10/main/postgresql.conf
配置如下:listen_addresses = 'localhost,MasterIP'wal_level = replicawal_keep_segments = 64max_wal_senders = 10
- 最后 , 在主服务器中重启 PostgreSQL:
systemctl restart postgresql
至此 , 主服务器配置已经完成 。三、备份服务器配置
- 使用以下命令登录到 PostgreSQL RDMS:
su - postgres
- 停止 PostgreSQL 服务 , 使用以下命令对其进行处理:
systemctl stop postgresql
- 使用以下命令编辑pg_hba.conf文件并添加以下配置:
nano /etc/postgresql/10/main/pg_hba.confhost replicationreplicationMasterIP/24md5
- 在备份服务器打开并编辑postgresql.conf并放入以下配置 , 如果有注释则取消注释:
nano /etc/postgresql/10/main/postgresql.conflisten_addresses = 'localhost,SecondaryIP'wal_keep_segments = 64wal_level = replicahot_standby = onmax_wal_senders = 10
SecondaryIP是从服务器的地址 。- 访问备份服务器中的 PostgreSQL 数据目录并删除所有内容:
cd /var/lib/postgresql/10/mainrm -rfv *
- 将 PostgreSQL 主服务器数据目录文件复制到 PostgreSQL 从服务器数据目录 , 并在从服务器中写入以下命令:
pg_basebackup -h MasterIP -D /var/lib/postgresql/11/main/ -P -Ureplication --wal-method=fetch
- 输入主服务器 PostgreSQL 密码并按回车键 。接下来 , 为恢复配置添加以下命令:
// "Edit" Commandnano /var/lib/postgresql/10/main/recovery.conf// Configurationstandby_mode= 'on'primary_conninfo = 'host=MasterIP port=5432 user=replication password=YOUR_PASSWORD'trigger_file = '/tmp/MasterNow'
这里YOUR_PASSWORD是主服务器 PostgreSQL 创建的复制用户的密码 。- 设置密码后 , 必须重新启动备份 PostgreSQL 数据库:
systemctl start postgresql
四、测试配置是否成功现在已经执行完了这些配置 , 让我们测试复制过程并观察从服务器数据库是否正常 。首先 , 我们在主服务器中创建一个表 , 并观察它是否反映在备份服务器上 。
- 由于我们在主服务器中创建表 , 因此需要登录到主服务器:
su - postgrespsql
- 现在我们创建一个名为“testtable”的简单表 , 并通过在终端中运行以下 PostgreSQL 查询将数据插入表中:
CREATE TABLE testtable (websites varchar(100));INSERT INTO testtable VALUES ('section.com');INSERT INTO testtable VALUES ('google.com');INSERT INTO testtable VALUES ('github.com');
- 登录从服务器观察从服务器PostgreSQL数据库:
su - postgres psql
- 现在 , 检查表 'testtable' 是否存在 , 并且可以通过在终端中运行以下 PostgreSQL 查询来返回数据 。
select * from testtable;
查询结果如下:|websites|-------------------| section.com || google.com || github.com|--------------------
那么测试成功 , 主服务器数据已经同步到从服务器上了 。PostgreSQL 手动故障转移步骤让我们回顾一下 PostgreSQL 手动故障转移的步骤:
- 使用非常规手段将主服务器崩溃 。
- 通过在从服务器上运行以下命令来提升从服务(切为主服务):
./pg_ctl promote -D ../sb_data/server promoting
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 从公司50亿参数AI绘画模型简单了解宅男AI小姐姐的生成模型
- 一根DDR5内存对比两根DDR5内存 到底哪个强?
- 自动驾驶汽车激光雷达如何做到与GPS时间同步?
- 大S|从张兰母子欠债9.8亿看,人的现实在大S身上体现的淋漓尽致
- 豪门|贵妇李天颖的逆袭之路:战悍匪斗小三,从豪门弃妇到百亿富婆
- 同治|10枚少见极品同治通宝,1枚最高卖到100万元
- 翡翠|到底什么才是翡翠的雪花棉
- 不雅照|张隆前妻为什么会有李梦这些私密照?李梦到底输了什么
- |?不是光荣,是可耻,我们不希望再看到烟四代,铁四代!
- 王昱珩|鬼才之眼王昱珩:从未上过班却财富自由,超能力的天才也有烦恼