postgresql安装hotstandby详解Word格式.docx

上传人:b****3 文档编号:14388345 上传时间:2022-10-22 格式:DOCX 页数:11 大小:19.69KB
下载 相关 举报
postgresql安装hotstandby详解Word格式.docx_第1页
第1页 / 共11页
postgresql安装hotstandby详解Word格式.docx_第2页
第2页 / 共11页
postgresql安装hotstandby详解Word格式.docx_第3页
第3页 / 共11页
postgresql安装hotstandby详解Word格式.docx_第4页
第4页 / 共11页
postgresql安装hotstandby详解Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

postgresql安装hotstandby详解Word格式.docx

《postgresql安装hotstandby详解Word格式.docx》由会员分享,可在线阅读,更多相关《postgresql安装hotstandby详解Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

postgresql安装hotstandby详解Word格式.docx

fs.aio-max-nr=1048576

net.ipv4.tcp_timestamps=0

使文件修改生效

sysctl-p

vi/etc/security/limits.conf

*softnofile131072

*hardnofile131072

*softnproc131072

*hardnproc131072

*softcoreunlimited

*hardcoreunlimited

*softmemlock50000000

*hardmemlock50000000

2建立数据库用户

给两个节点分别创建postgres用户并设置密码

mkdir/home/postgres

chown-R/home/postgres

groupaddpostgres

useradd-u501-gpostgres-d/home/postgres-s/bin/bashpostgres

passwdpostgres

3ssh免密钥通信

配置两台机器的ssh免密钥登录

ssh-keygen-trsa

主机:

cat~/.ssh/id_rsa.pub>

>

~/.ssh/authorized_keys

chmodgo-rwx~/.ssh/*

cd~/.ssh

scpid_rsa.pubpostgres@192.168.11.157:

/home/postgres/.ssh/id_rsa.pub1

备机:

catid_rsa.pub1>

authorized_keys

scpid_rsa.pubpostgres@192.168.11.156:

/home/postgres/.ssh/id_rsa.pub2

catid_rsa.pub2>

4安装PT数据库软件

安装PG的依赖软件包:

zypperinstalllrzszsysstate4fsprogsntpreadline-develzlibzlib-developensslopenssl-develpam-devellibxml2-devellibxslt-develpython-develtcl-develgccmakeflexbison

创建源码包存储目录

mkdir/app/database

mkdir/app/pgsql

chown-Rpostgres:

users/app/database

users/app/pgsql

su-postgres

postgresql必须用postgres用户安装,安装之前先改变postgresql的将要安装的目录的权限

安装PostgreSQL

wgethttps:

//ftp.postgresql.org/pub/source/v9.5.3/postgresql-9.5.3.tar.gz

cd/app/database

tarzxvfpostgresql-9.5.3.tar.gz

cdpostgresql-9.5.3

./configure--prefix=/app/pgsql--with-pgport=5432--with-perl--with-python--with-openssl--with-pam--without-ldap--with-libxml--with-libxslt--with-blocksize=8

gmakeworld

gmakeinstall-world

主备节点设置相关环境变量(主备节点应该一致)

vi/home/postgres/.bash_profile

exportPGHOME=/app/pgsql

exportLD_LIBRARY_PATH=$PGHOME/lib:

/lib64:

/usr/lib64:

/usr/local/lib64:

/lib:

/usr/lib:

/usr/local/lib:

$LD_LIBRARY_PATH

exportDATE=`date+"

%Y%m%d%H%M"

`

exportPATH=$PGHOME/bin:

$PATH:

.

exportMANPATH=$PGHOME/share/man:

$MANPATH

备机安装pg_standby

进入编译后的/postgresql-9.5.3/contrib./pg_standby目录,执行以下命令

makeinstall

这时便安装好pg_standby。

5主机应用配置

主机初始化数据库

mkdir-pv/app/DB

users/app/DB

cd/app/pgsql/bin

./initdb-D/app/DB

备库(postgres用户安装备节点只需要安装软件,不需要init数据库)

配置监听地址和端口:

vipostgresql.conf

listen_addresses='

*'

port=5432

wal_level=hot_standby

max_wal_senders=1

允许远程连接:

vipg_hba.conf

添加

hostallall192.168.11.0/24trust

hostreplicationpostgres127.0.0.1/0trust

主机设定WAL归档

vipostgres.conf

设定如下参数:

archive_mode=on

archive_command='

scp%p192.168.11.157:

/app/pgsql/backup/standby_log/%f<

/dev/null'

archive_timeout=1200

hot_standby=on

archive_mode参数,开启WAL归档

archive_command参数,设定归档时执行的命令,我们这里通过scp把主机的WAL归档日志传送到备机的/app/pgsql/backup/standby_log/目录下

archive_timeout参数,规定了最多多久执行一次归档,也是发生故障时数据库丢失数据的最长时间。

设定很小的话保证了安全性,增加了网络传输量。

 

postgresql数据库随系统启动而启动

将启动脚本拷贝到/etc/init.d/目录下,具体执行如下命令:

cd/etc/init.d

cp(第一步解压的安装文件目录)/contrib/start-scripts/linuxpostgresql

chmod+xpostgresql

vipostgresql

prefix=/app/pgsql

PGDATA="

/app/DB"

PGUSER=postgres

PGLOG="

/app/DB/log/pgsql.log"

chkconfig--addpostgresql

启动数据库:

mkdir/app/DB/log

servicepostgresqlstart

6备机应用配置

建立备机数据库

主机开始备份

psqlpostgres(实例名)

selectpg_start_backup('

hotbak'

);

主机压缩备份整个data目录

mkdir/app/pgsql/backup

tar-jcv-f/app/pgsql/backup/baseline.tar.bz2/app/DB/

主机通过scp复制到备机

scp-v/app/pgsql/backup/baseline.tar.bz2192.168.11.157:

/app/pgsql/backup/baseline.tar.bz2

备机解压缩备份文件

sudotar-jxv-fbaseline.tar.bz2-C/

主机结束备份

psqlpostgres

selectpg_stop_backup();

备机进行设置,启动到恢复模式

在/app/DB/目录内建立recovery.conf文件

cp/app/pgsql/share/recovery.conf.sample/app/DB/recovery.conf

virecovery.conf

standby_mode='

on'

primary_conninfo='

host=192.168.11.156port=5432user=postgres'

trigger_file='

/app/DB/pgsql.trigger.5432'

#删除pid文件

rmpostmaster.pid

更改postgres.conf文件中备份设置

把archive_mode、archive_command、archive_timeout三个参数注释掉,这些参数是主机设置的,由于我们备机暂时不需归档,所以注释掉他。

启动备机postgresql数据库

建立postgresql服务

启动数据库

pg_ctl–D/app/DBstart

备机会一直读取主机传送的WAL归档日志进行恢复

---------------另一归档方法(未验证)----------------

cp/app/pgsql/share/postgresql/recovery.conf.sample/app/DB/recovery.conf

restore_command='

pg_standby-d-s2-t/tmp/pgsql.trigger.5432/usr/local/pgsql/backup/standby_log%f%p%r2>

standby.log'

recovery_end_command='

rm-f/tmp/pgsql.trigger.5432'

/tmp目录下创建pgsql.trigger.5432文件,停止备份后会删除该文件防止错误操作

7测试

1)主机登录st

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1