加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Postgresql Stream 配置

发布时间:2020-12-13 17:33:05 所属栏目:百科 来源:网络整理
导读:一、安装配置数据库(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

一、安装配置数据库(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配置。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读