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 ...
随机推荐
- Java 异常讲解(转)
六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWrite ...
- 无法在提交表单前通过ajax验证解决办法
博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过ajax验证之前不提交表单. 例如:一个简单的验证函数 function check(){ $.post(&q ...
- tab左右箭头切换(修改后)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- HDU 1018 大数(求N!的位数/相加)
Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- webGL
WebGL: 是 OpenGL 和 JavaScript 之间的结晶.HTML5 的 canvas 元素里.利用和OpenGL同样的API.可以绘制高精度的三维图像. (OpenGL 能够从任意视点 ...
- linux笔记八---------文件查找
1.find文件查找指令 > find 目录 参数 参数值,参数 参数值..... > find / -name passwd //从系统根目录开始递归查找name=p ...
- svn学习笔记(2)操作----还原,重命名,冲突处理,权限配置等
1.查看某个文件的所有版本信息 2.版本还原,还原到之前的某一个版本 通过show log查看 查看某个文件的所有版本后,可以在这些版本之间自由切换 3.文件改名 文件改名字给我们一个教训: 如:in ...
- Hibernate HQL的update方法详解
虽然hibernate提供了许多方法对数据库进行更新,但是这的确不能满足开发需要.现在讲解一下用hql语句对数据进行更新. 不使用参数绑定格式String hql="update User ...
- Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC
Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC 博客分类: Java/Security Javabase64macmd5sha 加密解密,曾经是我一 ...
- Careercup | Chapter 8
8.2 Imagine you have a call center with three levels of employees: respondent, manager, and director ...