一、安装配置数据库(masterslave) 系统信息:
192.168.1.20gserver20(master) 192.168.1.21gserver21(slave)
1.建立目录
mkdir/opt/pgsql-9.3.1 mkdir/opt/pgdata/main mkdir/opt/pgdata/archive
2.建立postgres用户
adduserpostgres chown-Rpostgres/opt/pgdata/
3.设置密码 #passwdpostgres Changingpasswordforuserpostgres. Newpassword: BADPASSWORD:itistoosimplistic/systematic BADPASSWORD:istoosimple Retypenewpassword: passwd:allauthenticationtokensupdatedsuccessfully. #
4.设置用户环境变量
su-postgres vi.bash_profile
#.bash_profile #Getthealiasesandfunctions if[-f~/.bashrc];then .~/.bashrc fi #Userspecificenvironmentandstartupprograms exportPGHOME=/opt/pgsql-9.3.1 exportPGDATA=/opt/pgdata/main exportPATH=$PGHOME/bin:$PATH:$HOME/bin exportLD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
[postgres@gserver21~]$
5.安装postgresql ./configure--prefix=/opt/pgsql-9.3.1 gmake su gmakeinstall
二、配置streamreplication 1.master 1)切换到postgres用户 $su-postgres 2)初始化数据库 $initdb 3)配置pg_hba.conf 在#IPv4localconnections下面添加一行,设置PostgreSQL的访问及其权限 hostallall192.168.111.1/24trust 在#replicationprivilege.下面添加一行,设置replication用户及权限 hostreplicationpostgres192.168.111.1/24trust 4)配置postgresql.conf 配置监听,修改listen_addresses='localhost' listen_addresses='*'#whatIPaddress(es)tolistenon; 配置PrimaryReplication参数 wal_level=hot_standby max_wal_senders=5 wal_keep_segments=32 archive_mode=on archive_command='cp%p/opt/pgdata/archive/%f</dev/null' "/opt/pgdata/archive"是Replication的archive的存储路径。PostgreSQL会将Replication的WAL保存在"/opt/pgdata/archive"路径下。 5)启动Primary上的PostgreSQL数据库 $pg_ctlstart 6)在primary上执行以下命令 $psql-c"SELECTpg_start_backup('label',true)" 将Primary的PGDATA目录下的文件,除了postmaster.pid复制到Standby节点的“/opt/pgdata/main”目录下,该目录是Standby节点上的
PostgreSQL数据库的PGDATA目录。 $rsync-a${PGDATA}/postgres@192.168.1.21:/opt/pgdata/main--excludepostmaster.pid $psql-c"SELECTpg_stop_backup()" 2.standby su-postgres PGDATA=/opt/pgdata/main Standby节点的PGDATA路径就是Primary节点的PGDATA的副本 1)配置postgresql.conf 设置hot_standby为 hot_standby=on 2)编辑recovery.conf,文件路径为$(PGDATA)/recovery.conf,内容为 --------------------------------------------------------------------------------------------------------------------------- #Specifieswhethertostarttheserverasastandby.Instreamingreplication, #thisparametermusttobesettoon. standby_mode='on' #Specifiesaconnectionstringwhichisusedforthestandbyservertoconnect #withtheprimary. primary_conninfo='host=192.168.1.20port=5432user=postgres' #Specifiesatriggerfilewhosepresenceshouldcausestreamingreplicationto #end(i.e.,failover). trigger_file='/opt/pgdata/trigger' #SpecifiesacommandtoloadarchivesegmentsfromtheWALarchive.If #wal_keep_segmentsisahighenoughnumbertoretaintheWALsegments #requiredforthestandbyserver,thismaynotbenecessary.But #alargeworkloadcancausesegmentstoberecycledbeforethestandby #isfullysynchronized,requiringyoutostartagainfromanewbasebackup. restore_command='cp/opt/pgdata/archive/%f%p'
--------------------------------------------------------------------------------------------------------------------------3)复制pg_xlog下的所有文件到/opt/pgdata/archive目录下cd/opt/pgdata/main/pg_xlogmv*../../archive4)启动standby节点,完成Replicationpg_ctlstart3.完成StreamingReplication配置。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|