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

postgresql stream 模式搭建

发布时间:2020-12-13 17:17:41 所属栏目:百科 来源:网络整理
导读:PostgreSQL hot standby就是实现多个PostgreSQL节点实现数据同步(其实9.0x不只是异步)、这个同步是针对整数集群的(包含一切的数据、 DDL,DCL都会在salve上同步)。salve在利用日志恢复数据同时也能提供只读的操作,这样就可以利用这个技术实现多台主机数据同

PostgreSQL hot standby就是实现多个PostgreSQL节点实现数据同步(其实9.0x不只是异步)、这个同步是针对整数集群的(包含一切的数据、 DDL,DCL都会在salve上同步)。salve在利用日志恢复数据同时也能提供只读的操作,这样就可以利用这个技术实现多台主机数据同步和读取操作 的负载平衡。另存还有一点跟8.x不一样的地方就是这次9.0x提供的方法叫流复制(streaming repication),这是9.0x后才提供的新方法,这个方法只要事务提交后,就会把生成的日志同步的传送给slave数据库上,这比先前的WAL日 志需要写完现传送的方法有更低的数据延迟。

postgresql-9.2.1.tar.bz2


1、编译安装

yuminstall-ygccgcc-c++automakeautoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devele2fsprogse2fsprogs-develkrb5krb5-devellibidnlibidn-developensslopenssl-developenldapopenldap-develnss_ldapopenldap-clientsopenldap-serversbison*glib*flexreadlinereadline-develaprapr-utilapr-develrzszsysstate4fsprogsntpreadline-developensslopenssl-develpam-devellibxml2-devellibxslt-develpython-develtcl-develflexbison
tar?jxvfpostgresql-9.2.1.tar.bz2
cdpostgresql-9.2.1
./configure--prefix=/usr/local/pgsql
gmakeworld
gmakeinstall-world

2、新建用户,授权

#创建数据库目录
mkdir/data
#创建用户postgres,并授权
useraddpostgres
chownpostgres.postgres/data

3、配置环境变量

#切换到postgres用户
supostgres
#为其配置环境变量:
vim~postgres/.bash_profile
PGLIB=/usr/local/pgsql/lib
PGDATA=/data
PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
exportPGLIBPGDATAPATHMANPATH
exportPGDATA=/data

4、初始化数据库

initdb-D$PGDATA

5、Master配置文件修改

vimpg_hba.conf
hostallall192.168.2.4/32trust
hostallpostgres192.168.2.4/32trust
vimpostgres.conf
listen_addresses='*'
wal_level='hot_standby'
max_wal_senders=3
wal_keep_segments=16#80GBrequiredonpg_xlog
cp/usr/local/pgsql/share/recovery.conf.sample/data/recovery.cone
vimreconver.conf
standby_mode=on
primary_conninfo='host=masterport=5433user=postgres'#从节点信息


6、生成备库实例

[postgres@localhostdata]$pg_ctl?D$PGDATA-p5432

传送数据文件到slave

在备库执行

[postgres@localhostdata]$pg_basebackup-D$PGDATA-Fp-Xs-v-hmaster-p5432-Upostgres

7、Slave配置文件修改


[postgres@localhost data]$ vimpostgresql.conf

注意删除"#"

hot_standby=on
vimreconver.conf
standby_mode=on
primary_conninfo='host=masterport=5432user=postgres'#主节点信息

8、启动主从数据库

pg_ctl?D$PGDATA

master

[postgres@localhostdata]$ps-ef|greppostgres|grepsender
postgres1202110924014:37?00:00:00postgres:walsenderprocesspostgres172.16.0.132(33427)streaming0/3036838

slave

[postgres@localhostdata]$ps-ef|greppostgres|greprecover
postgres54795471017:24?00:00:00postgres:startupprocessrecovering00000002000000000000000D

注意:这个时候slave从master同步数据,但是slave是只读的。

(编辑:李大同)

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

    推荐文章
      热点阅读