|
|
主库:Windows server 2016 cn
从库:Oracle Linux 7
--------------------------------1.主库搭建
1.安装PG软件,关闭防火墙
2.添加环境变量
PATH=
[PGDATA=]
3.初始化PG
cmd
> C:\Users\Administrator>initdb -U postgres -D D:\pg14\data -E UTF8 --locale=C
4.配置pg_hba.conf文件,为本地连接启用trust身份验证[可选]
5.创建传输用的用户【或者直接用超级用户】
craete role slave1 login replication encrypted password '123';
配置pg_hba.conf文件,加入slave1的验证信息:
hosts all slave1 192.168.133.从库/24 md5
hosts replication slave1 192.168.133.从库/24 md5
重启服务生效
6.创建归档目录
手动创建,然后修改权限为777,也就是所有用户的权限都启用。
7.修改postgresql.conf文件
修改如下内容:
listen_addresses = '*'
port = 5432
wal_level = replica
archive_mode = on
archive_command = 'test ! -f D:\arc\%f'
max_wal_senders = 32
wal_keep_size = 16
wal_sender_timeout = 60s
#注意一下’max_connections=100‘的值,不要太小
保存,然后重启服务
-----------------------------------2.从库搭建
1.安装PG软件
2.测试主从之间的连接
--修改postgresql.conf文件
listen_addresses = '*' #主要是这一行要修改,端口不相同也可以。
port = 5432
#在主库上测试连到从库(从库上无法连到主库)
>psql -U slave1 -p 2015 -h 192.168.133.140
3.复制主节点的文件到从库:
pg_basebackup -Fp -Xs -v -P -h 192.168.133.132 -U slave1 -D /dbs/pg14/data -W -R -p 5432
#注意要填主库的端口号
-------------成功的标志:
[postgres@pgserver data]$ cat postgresql.auto.conf
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
primary_conninfo = 'user=slave1 password=123 channel_binding=prefer host=192.168.133.131 port=5432 sslmode=prefer sslcompression=0 sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=disable krbsrvname=postgres target_session_attrs=any'
-------------
--修改postgresql.conf文件:
注释带有windows的行;
修改端口为所本机使用的端口号
4.开启从库
pg_ctl start -l /tmp/logfile
5.测试
主库上:create database mydb1;
\c mydb1;
create schema mydb1_pgtest1_t1;
create table mydb1_pgtest1.t1(id int primary key,name varchar(20));
insert into mydb1_pgtest1.ti(id,name) values(1,'mydb1_pgtest1_t1');
从库上:\l #查看信息同步情况
|
|