视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
PostgreSQL集群方案hotstandby安装和测试
2020-11-09 11:24:32 责编:小采
文档


这两天正忙着研究postgresql,基本用法和其他数据库大同小异,先不自己讲解,今天主要想记录下postgresql的集群方案hot standby方

这两天正忙着研究postgresql,基本用法和其他数据库大同小异,先不自己讲解,今天主要想记录下postgresql的集群方案hot standby方式。

本人设置集群环境:

三台电脑:一台主数据库和两台从数据库

1. 安装Postgresql9

tar -zxvf postgresql-9.1.3.tar.gz #解压

cd postgresql-9.1.3

./configure --prefix /home/proxy_pg/pgsql #配置postgresql安装目录

这里需要安装基础的库(gcc、readline、zlib、) #可以不必理会,make时会提示

make #编译

make install #安装

2. 添加postgres账户

useradd postgres #添加账户

passwd postgres #之后输入密码

#之后进入postgres用户

su postgres

3. 初始化主数据库

mkdir data #在你想要存放数据的地方创建data文件夹

bin/initdb –D ../data/ #初始化数据库

修改data/postgresql.conf

port = 5433 #可以任意更改你想要的

wal_level = hot_standby

max_wal_senders = 30

修改data/pg_hba.conf

host replication all 0.0.0.0 0.0.0.0 trust

4. 启动主数据库

bin/pg_ctl start -D ../data/

5. 检测数据库是否启动成功

./psql -d postgres

psql (9.1.3)

Type "help" for help.

postgres=# #说明启动成功了

6. 基础备份

基本流程:在主数据库服务器上执行pg_start_backup(),复制data目录,在执行pg_stop_backup()。

./psql –d postgres

postgres=# select pg_start_backup(‘’);

#这姓这个方法后,所有请求在写日志之后不会再刷新到磁盘。直到执行pg_stop_backup()这个函数。

#下面需要拷贝一份data目录,并通过scp复制到子数据库中

cp –R data /data_bac

7. 创建从数据库(standby)

#通过scp方式拷贝data_bac目录到从数据库下(当然也可以通过其他方式)

scp -r data_bac/ postgres@192.168.30.199:/home/proxy_pg/pgsql/

#进入从数据库服务器,进入刚刚拷贝过来的data_bac目录下

cd data_bac

#修改postgres.conf

port = 5433 #改成你想的端口

hot_standby = on

#增加recovery.conf配置下连接的主数据库信息(ip、端口、用户)

standby_mode = 'on'

primary_conninfo = 'host=192.168.30.150 port=5433 user=postgres'

#删除pid文件

rm postmaster.pid

8. 启动从数据库

bin/pg_ctl start -D ../data_bac/

9. 停止主数据库基础备份

postgres=# select pg_stop_backup();

这里要注意的是:8和9步可以颠倒,因为先停止备份后,当从数据库启动会,会自动连接主数据库,,拉取服务器自基础备份后的事务日志,然后,对事物日志进行重演。

10. 测试

#为了方便查看数据库,我安装了pgAdminII

当在主数据库中创建一张表并插入三条数据后,观察从数据库:


#创建数据库lengzijian

./createdb lengzijian -p 5433 #主从库全部都会创建lengzijian数据库

#接下来可以创建表,并且插入字段。这里就不演示了。

11. 总结

这里只是做了初步的集群安装,postgresql的集群方案还有好多种,本人会演示所有方案,之后会对每一种方案进行检测,如果你有做好的实验或者方案,不放分享给我。

下载本文
显示全文
专题