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 ...
随机推荐
- 关于GreenOdoo的一个Bug
动态创建字段的时候,虽然字段已经创建,但是显示的时候会报没有新创建的字段错误: 但是原版是没有任何问题的,记录一下.
- javascript特效--制作背景电子钟(整点时祝贺生日快乐)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 面试题-->写一个函数,返回一个数组中所有元素被第一个元素除的结果
package com.rui.test; import java.util.Random; /** * @author poseidon * @version 1.0 * @date:2015年10 ...
- JSCH实现文件上传的代码实例
package com.vcredit.ddcash.monitor.sendmail; import java.io.File;import java.io.FileInputStream;impo ...
- 对C++对象实例化的测试
#include <iostream> using namespace std; class class1 { public: class1(){ } class1(int i ){ } ...
- IOS第13天(3,私人通讯录,登陆状态数据存储,数据缓存, cell的滑动删除,进入编辑模式,单个位置刷新 )
*****联系人的界面的优化 HMContactsTableViewController.m #import "HMContactsTableViewController.h" # ...
- canvas的默认尺寸
canvas一直就是偶尔看看,随便画点小东西,没有认真琢磨过,今天打算认真的从头学一下,画线的时候感觉坐标不太正常,后来发现,canvas有自己的默认尺寸 写法如下 <canvas id=&qu ...
- Web标准和搜索引擎优化技术
1.Web标准不是某一个标准,而是一系列标准的集合.出来网页内容之外,网页主要由三部分组成:结构(Structure).表现(Presenttation)和行为(Behavior).对应的标准也分三方 ...
- The Python Tutorial
1. >>> print('C:\some\name') # here \n means newline! C:\some ame >>> print(r'C:\s ...
- free-library-converts-2d-image-to-3d
http://www.i-programmer.info/news/105-artificial-intelligence/4917-free-library-converts-2d-image-to ...