一、配置环境:

示例环境

主机名

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流复制配置的更多相关文章

  1. PostgreSQL流复制

    原理机制 参考--https://yq.aliyun.com/articles/51009 主备总体结构 PG主备流复制的核心部分由walsender,walreceiver和startup三个进程组 ...

  2. PostgreSQL流复制参数max_wal_senders详解

    转自:http://my.oschina.net/Kenyon/blog/152234PostgreSQL 9.2.4 主机:192.25.10.76 从机:192.25.10.71 做postgre ...

  3. PostgreSQL 流复制+高可用

    QA PgPool-II 同步 Postgresql X1 服务器准备 192.168.59.121 PostgreSQL10 192.168.59.120 PGPool-II 3.7 X2 安装Po ...

  4. PostgreSQL流复制记录

    参考了别人的部分,添加了自己在实践中的内容,仅做记录. 1.同步流复制中 主机操作 1.1postgresql.conf wal_level = hot_standby # 这个是设置主为wal的主机 ...

  5. [笔记] postgresql 流复制(streaming replication)

    基本环境说明: os:FreeBSD 9.3 postgresql version: master:192.168.56.101 standby:192.168.56.102 安装过程略,基于pkg包 ...

  6. 再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署

    前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应.大家发现了另一款开源的数据库: PostgreSQL. 虽然centos自带版本9.2也可以用,但是最近的几次 ...

  7. KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(异机复制)

    案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...

  8. Oracle 流复制实践笔记

    最近因为业务需求,需要在两个数据库之间做双向实时同步,遂实践了一把Oracle的流复制,遇到了很多疑难问题,最终也貌似成功,现记录如下. 我是使用OEM来实现流复制的. 10.进行流复制的两个数据库的 ...

  9. 20181219-PostgreSQL 流复制监控脚本

    PostgreSQL 流复制监控脚本 https://github.com/AndyYHM/Writing/blob/PostgreSQL/20181219-PostgreSQL%20Stream%2 ...

随机推荐

  1. Odoo 9 Odoo $ JQuery undifned

    浏览器处于假死状态,查看console发现 odoo,jquery,$ 未定义三处错误,后台显示IOError: IOError: [Errno 2] No such file or director ...

  2. 禁止浏览器直接访问php文件

    框架中很多php文件并不是用来如果熟悉框架的路径就能直接访问这个文件,虽然访问到了也不能看到什么(他看到的是编译过后的html文件),但还是觉的很不安全. 可以通过下面这种方法拒绝他人的从浏览器中的访 ...

  3. Android studio快捷键总结

    功能 快捷键   功能 快捷键 格式化代码 command + alt + L   运行程序到设备 Ctrl + R 导包.修正 alt + enter   运行Debug到设备 Ctrl + D 复 ...

  4. 理解listagg函数

    两道SQL面试题引出listagg函数: 1. 用一条sql求出每个部门(emp表)的最大工资和最小工资,以及最大工资和最小工资的员工姓名. (注:一次表扫描.同一个部门最大工资或最小工资的人可能不止 ...

  5. 2016HUAS暑假集训训练2 F - A Simple Problem with Integers

    Description 给出了一个序列,你需要处理如下两种询问. "C a b c"表示给[a, b]区间中的值全部增加c (-10000 ≤ c ≤ 10000). " ...

  6. 使用Sublime Text 直接运行Quick-cocos2d-x 项目

    一.新建一个编译系统 { "cmd": "D:/WorkSoftWare/Quick/quick-cocos2d-x-3.3rc0/quick/samples/Runni ...

  7. 高德地图 室内地图 API 的一些坑

    开发指南 http://lbs.amap.com/api/javascript-api/guide/create-map/indoormap/ demo 大全: http://lbs.amap.com ...

  8. gcc和g++

    一.GCC GNU编译器套件(GNU Compiler Collection)包括C.C++.Objective-C.Fortran.Java.Ada和Go语言的前端,也包括了这些语言的库(如libs ...

  9. Session 知识点再整理(二) 自定义 Session 存储机制

    对于访问量大的网站,用默认的 Session 存储方式(以文件存储)不适合,因为文件的 I/O 开销会非常大,另外 Session 机制本身使 Session 不能跨机访问,在 Web 集群中无法达到 ...

  10. Asp.net DropDownList 自定义样式(想怎么改就怎么改!)

    最近在做一个asp.net的项目,需要对默认的dropdownlist样式进行美化,固有的dropdownlist的小箭头实在让人无法接受,于是开始在百度,google 上下求索,天不负有心人,终于找 ...