由于工作需要,最近开始接触各种数据库,并尝试各种数据库产品的高可用方案。
今天分享的是postgresSQL的主从配置,其实还是蛮简单的,跟随本文的步骤,保证能实现PG主从的搭建。
1。安装环境
192.168.0.136 主库 192.168.0.160 从库 端口:5432 USR: postgres
2。主库已经运行一段时间,检查主库的版本,保证主从数据库的版本相同。
#,psql ——版本 psql (PostgreSQL) 9.4.11 #,rpm qa | grep postgres postgresql94-libs-9.4.11-1PGDG.rhel6.x86_64 postgresql94-server-9.4.11-1PGDG.rhel6.x86_64 postgresql94-9.4.11-1PGDG.rhel6.x86_64
3。在从库上安装相同版本的软件
检查安装情况,已经安装和主相同的软件版本
#,rpm qa | grep postgres postgresql94-libs-9.4.11-1PGDG.rhel6.x86_64 postgresql94-server-9.4.11-1PGDG.rhel6.x86_64 postgresql94-9.4.11-1PGDG.rhel6.x86_64
4。查询主库的数据库位置
#,su 作用;postgres 美元,echo PGDATA美元/var/lib/pgsql/9.4/data 美元,cd /var/lib/pgsql/9.4/数据 美元,ls base ,,, pg_clog ,,,,, pg_hba.conf ,,, pg_log ,,,,, pg_multixact pg_replslot , pg_snapshots , pg_stat_tmp , pg_tblspc ,,, PG_VERSION , postgresql.auto.conf , postmaster.opts global , pg_dynshmem , pg_ident.conf , ,pg_logical pg_notify ,,,, pg_serial ,,, pg_stat ,,,,,, pg_subtrans , ,pg_twophase pg_xlog ,,,, postgresql.conf ,,,,,邮政局长。pid
确认配置文件位置
postgres=#, show config_file; config_file 才能,,,,,,,,,,,,,,, ----------------------------------------- ,/var/lib/pgsql/9.4/数据/postgresql。参看
查看数据文件目录
postgres=#, show data_directory; ,,,,data_directory ,,,,, ------------------------- ,/var/lib/pgsql/9.4/数据
5。准备修改主库的参数文件,先查询一下pg_hba。配置已有的参数内容
,美元cat pg_hba.conf | grep -v “^ #” local ,, all ,,,,,,,,,,,, all ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,同行 host ,,, all ,,,,,,,,,,,, all ,,,,,,,,,,,, 0.0.0.0/0 ,,,,,,,,,,,信任 host ,,, all ,,,,,,,,,,,, all ,,,,,,,,,,,,:: 1/128 ,,,,,,,,,,,,鉴别
6。在主库的pg_hba。会议中添加
,美元more pg_hba.conf host ,,, replication ,,,, replica ,,,, 192.168.0.160 ,,,,,,,,,,,,,,,, md5
这样,就设置了复制这个用户可以从192.168.0.160对应的网段进行流复制请求。
7。在主库给postgres设置密码,登录和备份权限。
psql美元 postgres #, CREATE ROLE  replica login replication encrypted password “replica123”
8。修改postgresql。相依,注意设置下下面几个地方:
wal_level =, hot_standby ,,,,,, #,这个是设置主为细胞膜的主机 10 max_wal_senders =,,,,,,,,,,,, #,这个设置了可以最多有几个流复制连接,差不多有几个从,就设置几个 wal_keep_segments =, 256,,,,,,,, #,设置流复制保留的最多的xlog数目 时间=wal_sender_timeout 60 s ,,,,,, #,设置流复制主机发送数据的超时时间 max_connections =, 100,,,,,,,,,,, #,这个设置要注意下,从库的max_connections必须要大于主库的 archive_mode =, archive_command =, ' cp % p /var/lib/pgsql/9.4/归档/% f '
9。创建对应归档日志存放路径
mkdir -p /var/lib/pgsql/9.4/归档/
10。重启主库,让配置生效
#,service postgresql - 9.4,开始 null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullPostgresSQL主从搭建