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 ...
随机推荐
- [CareerCup] 18.12 Largest Sum Submatrix 和最大的子矩阵
18.12 Given an NxN matrix of positive and negative integers, write code to find the submatrix with t ...
- java笔记随笔
基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的. 类名:对于所有的类来说,类名的首字母应该大写.如果类名由若干单词组 ...
- oracle 连接查询,和(+)符号的用法
--连接查询 左链接.右链接,全链接 --内链接select e.account 用户名, e.empname 名称, c.comname 公司名称 from employee e inner jo ...
- childNodes 和children
childNodes 兼容性不是很好,一般用children 元素.childNodes : 只读 属性 子节点列表集合标准下:包含了空白换行和元素类型的节点,也会包含非法嵌套的子节点非标准下:只包含 ...
- 测试常用SQL注入语句大全
转载自Cracer,标题:<渗透常用SQL注入语句大全>,链接http://www.xxxx.com/?p=2226 1.判断有无注入点 整形参数判断 1.直接加' 2.and 1=1 3 ...
- 【HDU4632 Palindrome subsequence】区间dp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4632 题意:给你一个序列,问你该序列中有多少个回文串子序列,可以不连续. 思路:dp[i][j]表示序 ...
- centos6 系统优化脚本
#!/bin/bash # 检查是否为root用户,脚本必须在root权限下运行 # if [[ "$(whoami)" != "root" ]]; then ...
- sprintf的缓冲区溢出问题
因为sprintf函数没有参数指定缓冲区的大小,这使得溢出的可能性很大,尤其是遇到 sprintf( buffer, "%s", a ) 如果不知道a的串长,就无法指定安全的缓冲区 ...
- java之接口(笔记)
1.特征 (1)所有成员变量都是public, static, final.(2)所有方法都是public, abstract.(3)所有嵌套类型都是public, static. 2.接口也是继承自 ...
- Oracel数据库连接时出现:ORA-12518:监听程序无法分发客户机连
在连接Oracel数据库时,每隔一段时间就会出现:ORA-12518:监听程序无法分发客户机连接,如图 上网查了资料原因和解决方案如下: 一.[问题描述] 最近,在系统高峰期的时候,会提示如上的错误, ...