postgresql流复制配置
一、配置环境:
|
示例环境 |
|||||
|
主机名 |
IP |
角色 |
系统版本 |
数据目录 |
pg版本 |
|
db1 |
192.168.128.128 |
主库 |
RedHat5.3 |
/app/postgreSQL/data |
9.1.7 |
|
db2 |
192.168.129.129 |
备库 |
RedHat5.3 |
/app/postgreSQL/data |
9.1.7 |
二、postgresql安装(略)
主库完全安装 。备库安装只需要到make install即可 不需要initdb。
三、主库配置(在192.168.128.128操作配置)
1、创建复制角色
postgres=# create user rep replication login connection limit 100 encrypted password 'rep123';
CREATE ROLE
2、配置pg_hba.conf
host replication rep 192.168.128.129/32 md5
host all all 192.168.128.1/32 trust
3、配置postgresql.conf
wal_level = hot_standby
archive_mode = on
archive_command = '/bin/date'
wal_keep_segments = 256
max_wal_senders = 32
max_standby_archive_delay = 300s
max_standby_streaming_delay = 300s
wal_receiver_status_interval = 10s
hot_standby_feedback = on
hot_standby = on
/app/postgreSQL/bin/pg_ctl restart
/app/postgreSQL/bin/pg_ctl reload -D /app/postgreSQL/data
四、备库配置(在192.168.128.129)上进行操作
1、创建目录
创建于主库相同的目录并授权 如data目录 以及后来创建的表空间目录
2、创建密码文件
[postgres@db2 ~]$ vi .pgpass
192.168.128.128:5432:replication:rep:rep123
[postgres@db2 ~]$ chmod 0600 .pgpass
3、pg_basebackup
[postgres@db2 ~]$ /app/postgreSQL/bin/pg_basebackup -F p -D /app/postgreSQL/data -h 192.168.128.128 -p 5432 -U rep
[postgres@db2 data]$ cp /app/postgreSQL/share/postgresql/recovery.conf.sample recovery.conf
4、修改recovery.conf配置
standby_mode = on
primary_conninfo = 'host=192.168.128.128 port=5432 user=rep'
trigger_file = '/app/postgreSQL/data/postgresql.trigger.5432'
五、启动服务
/app/postgreSQL/bin/pg_ctl start -D /app/postgreSQL/data
1、主库进程
[postgres@db1 ~]$ ps -ef|grep postgres
postgres 11174 13893 0 04:13 ? 00:00:00 postgres: wal sender process rep 192.168.128.129(49028) streaming 0/30001D0
postgres 11187 13984 0 04:16 pts/1 00:00:00 ps -ef
postgres 11188 13984 0 04:16 pts/1 00:00:00 grep postgres
postgres 13893 1 0 03:46 pts/1 00:00:00 /app/postgreSQL/bin/postgres
postgres 13895 13893 0 03:46 ? 00:00:00 postgres: writer process
postgres 13896 13893 0 03:46 ? 00:00:00 postgres: wal writer process
postgres 13897 13893 0 03:46 ? 00:00:00 postgres: autovacuum launcher process
postgres 13898 13893 0 03:46 ? 00:00:00 postgres: archiver process last was 000000010000000000000002.00000020.backup
postgres 13899 13893 0 03:46 ? 00:00:00 postgres: stats collector process
root 13921 13890 0 02:10 pts/1 00:00:00 su - postgres
postgres 13922 13921 0 02:10 pts/1 00:00:00 -bash
root 13983 13951 0 02:11 pts/1 00:00:00 su - postgres
postgres 13984 13983 0 02:11 pts/1 00:00:00 -bash
2、备库进程
[postgres@db2 ~]$ ps -ef|grep postgres
postgres 10855 1 0 04:10 pts/1 00:00:00 /app/postgreSQL/bin/postgres -D /app/postgreSQL/data
postgres 10856 10855 0 04:10 ? 00:00:00 postgres: startup process recovering 000000010000000000000003
postgres 10857 10855 0 04:10 ? 00:00:01 postgres: wal receiver process streaming 0/3000260
postgres 10858 10855 0 04:10 ? 00:00:00 postgres: writer process
postgres 10859 10855 0 04:10 ? 00:00:00 postgres: stats collector process
postgres 10869 13863 0 04:15 pts/1 00:00:00 ps -ef
postgres 10870 13863 0 04:15 pts/1 00:00:00 grep postgres
root 13862 3671 0 02:14 pts/1 00:00:00 su - postgres
postgres 13863 13862 0 02:14 pts/1 00:00:00 -bash
六、测试
1、主库建表插入数据
[postgres@db1 ~]$ /app/postgreSQL/bin/psql
psql (9.1.7)
Type "help" for help.
^
postgres=# create table test (id integer);
CREATE TABLE
^
postgres=# insert into test values (1);
INSERT 0 1
postgres=# select * from test;
id
----
1
(1 row)
2、备库查看数据是否传输。
[postgres@db2 ~]$ /app/postgreSQL/bin/psql
psql (9.1.7)
Type "help" for help.
postgres=# select * from test;
id
----
1
(1 row)
postgres=#
come from :http://blog.csdn.net/hai520ny/article/details/48135987
postgresql流复制配置的更多相关文章
- PostgreSQL流复制
原理机制 参考--https://yq.aliyun.com/articles/51009 主备总体结构 PG主备流复制的核心部分由walsender,walreceiver和startup三个进程组 ...
- PostgreSQL流复制参数max_wal_senders详解
转自:http://my.oschina.net/Kenyon/blog/152234PostgreSQL 9.2.4 主机:192.25.10.76 从机:192.25.10.71 做postgre ...
- PostgreSQL 流复制+高可用
QA PgPool-II 同步 Postgresql X1 服务器准备 192.168.59.121 PostgreSQL10 192.168.59.120 PGPool-II 3.7 X2 安装Po ...
- PostgreSQL流复制记录
参考了别人的部分,添加了自己在实践中的内容,仅做记录. 1.同步流复制中 主机操作 1.1postgresql.conf wal_level = hot_standby # 这个是设置主为wal的主机 ...
- [笔记] postgresql 流复制(streaming replication)
基本环境说明: os:FreeBSD 9.3 postgresql version: master:192.168.56.101 standby:192.168.56.102 安装过程略,基于pkg包 ...
- 再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署
前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应.大家发现了另一款开源的数据库: PostgreSQL. 虽然centos自带版本9.2也可以用,但是最近的几次 ...
- KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(异机复制)
案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...
- Oracle 流复制实践笔记
最近因为业务需求,需要在两个数据库之间做双向实时同步,遂实践了一把Oracle的流复制,遇到了很多疑难问题,最终也貌似成功,现记录如下. 我是使用OEM来实现流复制的. 10.进行流复制的两个数据库的 ...
- 20181219-PostgreSQL 流复制监控脚本
PostgreSQL 流复制监控脚本 https://github.com/AndyYHM/Writing/blob/PostgreSQL/20181219-PostgreSQL%20Stream%2 ...
随机推荐
- [LintCode] Paint House 粉刷房子
There are a row of n houses, each house can be painted with one of the three colors: red, blue or gr ...
- android-View视图的根基类
- Hadoop.2.x_高级应用_二次排序及MapReduce端join
一.对于二次排序案例部分理解 1. 分析需求(首先对第一个字段排序,然后在对第二个字段排序) 杂乱的原始数据 排序完成的数据 a,1 a,1 b,1 a,2 a,2 [排序] a,100 b,6 == ...
- HDU3874 /HDU3333 树状数组 区间求不重复数和
Necklace Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- cursor 手型样式
cursor:hand 与 cursor:pointer 的效果是一样,都像手形光标.但用FireFox浏览时才注意到使用cursor:hand在FireFox里并被支持.cursor:hand :I ...
- Distinct删除重复数据时 自定义的方法比较【转】
最近项目中在用Linq Distinct想要将重复的资料去除时,发现它跟Any之类的方法有点不太一样,不能很直觉的在呼叫时直接带入重复数据判断的处理逻辑,所以当我们要用某个成员属性做重复数据的判断时, ...
- 使用xtrbackup 热备MySQL数据库 以及恢复和自动删除脚本
直接上脚本 热备(全备) #!/bin/bash user='root' passwd='123456' my_config='/etc/my.cnf' #mysql configure log=fu ...
- chineseChess
最近学习了chineseChess的Qt实现,把一些东西总结一下: 实现功能: 1.人人对战 2.人机对战 3.网络版 一.基础性工作:(人人对战) 1.棋盘和棋子的绘制(QPinter,drawLi ...
- PHPExcel创建文件格式写入对象实例
首先到http://www.codeplex.com/PHPExcel下载PHPExcel 下面就是php导出excel的程序 <?phpini_set("display_errors ...
- Trie树
一.什么是trie树 1.Trie树 (特例结构树) Trie树,又称单词查找树.字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树结构.典型应用是用于统计和排序大量的字符串( ...