一、配置环境:

示例环境

主机名

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. Java 异常讲解(转)

    六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?   1 OutputStreamWrite ...

  2. 无法在提交表单前通过ajax验证解决办法

    博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过ajax验证之前不提交表单. 例如:一个简单的验证函数 function check(){ $.post(&q ...

  3. tab左右箭头切换(修改后)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. HDU 1018 大数(求N!的位数/相加)

    Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  5. webGL

    WebGL:  是 OpenGL 和 JavaScript 之间的结晶.HTML5 的 canvas 元素里.利用和OpenGL同样的API.可以绘制高精度的三维图像. (OpenGL 能够从任意视点 ...

  6. linux笔记八---------文件查找

    1.find文件查找指令 > find  目录  参数 参数值,参数 参数值.....    > find  /  -name  passwd   //从系统根目录开始递归查找name=p ...

  7. svn学习笔记(2)操作----还原,重命名,冲突处理,权限配置等

    1.查看某个文件的所有版本信息 2.版本还原,还原到之前的某一个版本 通过show log查看 查看某个文件的所有版本后,可以在这些版本之间自由切换 3.文件改名 文件改名字给我们一个教训: 如:in ...

  8. Hibernate HQL的update方法详解

    虽然hibernate提供了许多方法对数据库进行更新,但是这的确不能满足开发需要.现在讲解一下用hql语句对数据进行更新. 不使用参数绑定格式String hql="update User ...

  9. Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC

    Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC 博客分类: Java/Security Javabase64macmd5sha     加密解密,曾经是我一 ...

  10. Careercup | Chapter 8

    8.2 Imagine you have a call center with three levels of employees: respondent, manager, and director ...