Submit Search
Upload
PostgreSQL 9 的 standby 集群实践
•
5 likes
•
1,007 views
March Liu
Follow
简单的 PostgreSQL 9 集群实施说明。刚刚玩了几天,还没摸透。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 62
Download now
Download to read offline
Recommended
Linux基础
Linux基础
Eric Lo
Unixtoolbox zh cn
Unixtoolbox zh cn
xdboy2006
Linux 教育訓練
Linux 教育訓練
Bo-Yi Wu
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
Yiwei Ma
Linux学习
Linux学习
tonyhuang2008
unixtoolbox_zh_CN
unixtoolbox_zh_CN
wensheng wei
康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)
Yiwei Ma
Split lock
Split lock
yang peng
Recommended
Linux基础
Linux基础
Eric Lo
Unixtoolbox zh cn
Unixtoolbox zh cn
xdboy2006
Linux 教育訓練
Linux 教育訓練
Bo-Yi Wu
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
Yiwei Ma
Linux学习
Linux学习
tonyhuang2008
unixtoolbox_zh_CN
unixtoolbox_zh_CN
wensheng wei
康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)
Yiwei Ma
Split lock
Split lock
yang peng
Linux基础
Linux基础
zhuqling
Mysql展示功能与源码对应
Mysql展示功能与源码对应
zhaolinjnu
Hadoop平台搭建
Hadoop平台搭建
Liyang Tang
Infiniflash benchmark
Infiniflash benchmark
Louis liu
Cuda基本介绍
Cuda基本介绍
caolejun
Proxmox: 建立自己的虛擬主機
Proxmox: 建立自己的虛擬主機
維泰 蔡
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewave
OpenCity Community
Centos下安装apache + subversion
Centos下安装apache + subversion
Yiwei Ma
Effective linux.1.(commandline)
Effective linux.1.(commandline)
wang hongjiang
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
haiyuan ning
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
MarsZ Chen
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
MarsZ Chen
Cassandra运维之道(office2003)
Cassandra运维之道(office2003)
haiyuan ning
MySQL aio
MySQL aio
zhaolinjnu
nodejs在微博前端开发中的应用
nodejs在微博前端开发中的应用
dong yuwei
Nginx共享内存
Nginx共享内存
Lucien Li
Altibase管理培训 安装篇
Altibase管理培训 安装篇
小新 制造
Effective linux.2.(tools)
Effective linux.2.(tools)
wang hongjiang
unix toolbox 中文版
unix toolbox 中文版
Jie Bao
Linux 期末報告
Linux 期末報告
米米 林
Linux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
Kenny (netman)
Python 数据库技术第三讲
Python 数据库技术第三讲
March Liu
More Related Content
What's hot
Linux基础
Linux基础
zhuqling
Mysql展示功能与源码对应
Mysql展示功能与源码对应
zhaolinjnu
Hadoop平台搭建
Hadoop平台搭建
Liyang Tang
Infiniflash benchmark
Infiniflash benchmark
Louis liu
Cuda基本介绍
Cuda基本介绍
caolejun
Proxmox: 建立自己的虛擬主機
Proxmox: 建立自己的虛擬主機
維泰 蔡
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewave
OpenCity Community
Centos下安装apache + subversion
Centos下安装apache + subversion
Yiwei Ma
Effective linux.1.(commandline)
Effective linux.1.(commandline)
wang hongjiang
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
haiyuan ning
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
MarsZ Chen
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
MarsZ Chen
Cassandra运维之道(office2003)
Cassandra运维之道(office2003)
haiyuan ning
MySQL aio
MySQL aio
zhaolinjnu
nodejs在微博前端开发中的应用
nodejs在微博前端开发中的应用
dong yuwei
Nginx共享内存
Nginx共享内存
Lucien Li
Altibase管理培训 安装篇
Altibase管理培训 安装篇
小新 制造
Effective linux.2.(tools)
Effective linux.2.(tools)
wang hongjiang
What's hot
(18)
Linux基础
Linux基础
Mysql展示功能与源码对应
Mysql展示功能与源码对应
Hadoop平台搭建
Hadoop平台搭建
Infiniflash benchmark
Infiniflash benchmark
Cuda基本介绍
Cuda基本介绍
Proxmox: 建立自己的虛擬主機
Proxmox: 建立自己的虛擬主機
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewave
Centos下安装apache + subversion
Centos下安装apache + subversion
Effective linux.1.(commandline)
Effective linux.1.(commandline)
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
Cassandra运维之道(office2003)
Cassandra运维之道(office2003)
MySQL aio
MySQL aio
nodejs在微博前端开发中的应用
nodejs在微博前端开发中的应用
Nginx共享内存
Nginx共享内存
Altibase管理培训 安装篇
Altibase管理培训 安装篇
Effective linux.2.(tools)
Effective linux.2.(tools)
Similar to PostgreSQL 9 的 standby 集群实践
unix toolbox 中文版
unix toolbox 中文版
Jie Bao
Linux 期末報告
Linux 期末報告
米米 林
Linux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
Kenny (netman)
Python 数据库技术第三讲
Python 数据库技术第三讲
March Liu
5, system admin
5, system admin
ted-xu
PostgreSQL Introduction V0.1
PostgreSQL Introduction V0.1
March Liu
PostgreSQL 9 Standby
PostgreSQL 9 Standby
March Liu
linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细
colderboy17
Ubuntu手册(中文版)
Ubuntu手册(中文版)
byp2011
Aisanux安装光盘分析
Aisanux安装光盘分析
Guangyao Cheng
Ipaq with linux
Ipaq with linux
descent Sung
Lamp安全全攻略
Lamp安全全攻略
Da Zhao
Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版
redhat9
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
heima911
Elastic stack day-2
Elastic stack day-2
YI-CHING WU
配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制
maclean liu
Linuxguide4f2e
Linuxguide4f2e
tb-vertical-guide
LinuxGuide4F2E
LinuxGuide4F2E
sodabiscuit
Heartbeat v2 安装和配置原理
Heartbeat v2 安装和配置原理
Pickup Li
Mysql企业备份发展及实践
Mysql企业备份发展及实践
maclean liu
Similar to PostgreSQL 9 的 standby 集群实践
(20)
unix toolbox 中文版
unix toolbox 中文版
Linux 期末報告
Linux 期末報告
Linux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
Python 数据库技术第三讲
Python 数据库技术第三讲
5, system admin
5, system admin
PostgreSQL Introduction V0.1
PostgreSQL Introduction V0.1
PostgreSQL 9 Standby
PostgreSQL 9 Standby
linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细
Ubuntu手册(中文版)
Ubuntu手册(中文版)
Aisanux安装光盘分析
Aisanux安装光盘分析
Ipaq with linux
Ipaq with linux
Lamp安全全攻略
Lamp安全全攻略
Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
Elastic stack day-2
Elastic stack day-2
配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制
Linuxguide4f2e
Linuxguide4f2e
LinuxGuide4F2E
LinuxGuide4F2E
Heartbeat v2 安装和配置原理
Heartbeat v2 安装和配置原理
Mysql企业备份发展及实践
Mysql企业备份发展及实践
More from March Liu
Jaskell Core Parsec
Jaskell Core Parsec
March Liu
轻量级文本工具集
轻量级文本工具集
March Liu
奇点与未来
奇点与未来
March Liu
尼尔盖曼的美国众神
尼尔盖曼的美国众神
March Liu
创业项目中常见的技术和管理债务
创业项目中常见的技术和管理债务
March Liu
It工程师的职业成长
It工程师的职业成长
March Liu
Xcode tutorial
Xcode tutorial
March Liu
Socrates Used PostgreSQL and SQLAlchemy
Socrates Used PostgreSQL and SQLAlchemy
March Liu
PostgreSQL 9 1 新特性
PostgreSQL 9 1 新特性
March Liu
Emacs Introduction
Emacs Introduction
March Liu
软件开发工程化的个人体验
软件开发工程化的个人体验
March Liu
Python速成指南
Python速成指南
March Liu
Python 数据库技术讲座(二)
Python 数据库技术讲座(二)
March Liu
Python 数据库技术讲座(一)
Python 数据库技术讲座(一)
March Liu
Python 数据库技术
Python 数据库技术
March Liu
基于 PostgreSQL 的关系型数据库方案
基于 PostgreSQL 的关系型数据库方案
March Liu
About Me
About Me
March Liu
1 Python简介
1 Python简介
March Liu
2 Python开发工具链
2 Python开发工具链
March Liu
3 Python开发风格与建议
3 Python开发风格与建议
March Liu
More from March Liu
(20)
Jaskell Core Parsec
Jaskell Core Parsec
轻量级文本工具集
轻量级文本工具集
奇点与未来
奇点与未来
尼尔盖曼的美国众神
尼尔盖曼的美国众神
创业项目中常见的技术和管理债务
创业项目中常见的技术和管理债务
It工程师的职业成长
It工程师的职业成长
Xcode tutorial
Xcode tutorial
Socrates Used PostgreSQL and SQLAlchemy
Socrates Used PostgreSQL and SQLAlchemy
PostgreSQL 9 1 新特性
PostgreSQL 9 1 新特性
Emacs Introduction
Emacs Introduction
软件开发工程化的个人体验
软件开发工程化的个人体验
Python速成指南
Python速成指南
Python 数据库技术讲座(二)
Python 数据库技术讲座(二)
Python 数据库技术讲座(一)
Python 数据库技术讲座(一)
Python 数据库技术
Python 数据库技术
基于 PostgreSQL 的关系型数据库方案
基于 PostgreSQL 的关系型数据库方案
About Me
About Me
1 Python简介
1 Python简介
2 Python开发工具链
2 Python开发工具链
3 Python开发风格与建议
3 Python开发风格与建议
PostgreSQL 9 的 standby 集群实践
1.
PostgreSQL 9 Hot
Standby 刘鑫 <march.liu@gmail.com> standby 技术实践 August 24, 2010 . . . . . .
2.
Standby 集群知识
. . . . . .
3.
PostgreSQL 内置的集群方案
. . . . . .
4.
基于预写入机制
. . . . . .
5.
DML or DDL client
− − − − [switch file → archive file]wal level − data storage − − −→ − → . . . . . .
6.
高性能
. . . . . .
7.
同步差可控
. . . . . .
8.
流式同步
. . . . . .
9.
基于交换文件的快同步:backup in progress
. . . . . .
10.
较低负载压力的“温备”模式
. . . . . .
11.
基于归档文件的增量恢复:archive/restore
. . . . . .
12.
实施
. . . . . .
13.
基本步骤
. . . . . .
14.
预备 standby 配置文件
. . . . . .
15.
预设 primary 节点。
. . . . . .
16.
primary 进入备份模式
. . . . . .
17.
建立 standby 环境
. . . . . .
18.
配置 standby
. . . . . .
19.
启动 standby
. . . . . .
20.
将 primary 转入正常模式。
. . . . . .
21.
standby 实施
. . . . . .
22.
计划与设计
. . . . . .
23.
采用何种架构?
. . . . . .
24.
读写分离 or Standlone?
. . . . . .
25.
根据同步率和性能要求采用不同的方案。
. . . . . .
26.
文件 or 流?
. . . . . .
27.
希望回溯?
. . . . . .
28.
预备 standby 配置
. . . . . .
29.
编辑 postgresql.conf
. . . . . .
30.
hot standby?
hot standby = on/off . . . . . .
31.
建立 recovery.conf
. . . . . .
32.
文件同步 standby mode
= ’on’ restore command = ’cp $ARCHIVEDIR/%f %p’ . . . . . .
33.
流式同步
standby mode = ’on’ primary conninfo = ’host=primary port=5432 user=repl’ . . . . . .
34.
预备 primary
. . . . . .
35.
编辑 postgresql.conf
. . . . . .
36.
wal level =
archive/hot standby . . . . . .
37.
基于 archive 模式
archive mode = on . . . . . .
38.
基于归档文件 archive
command = ’test ! -f $ARCHIVEDIR/%f && cp %p $ARCHIVEDIR/%f’ . . . . . .
39.
基于 switch file
archive command = ’test ! -f $PGDATA/backup in progress && cp %p $ARCHIVEDIR/%f’ . . . . . .
40.
基于流
max wal sender = n (n>0) . . . . . .
41.
基于流
编辑 pg hba.conf . . . . . .
42.
基于流 # TYPE
DATABASE USER CIDR−ADDRESS METHOD host r e p l i c a t i o n r e p l 1 9 2 . 1 6 8 . 1 . 1 0 0 / 3 2 md5 . . . . . .
43.
进入备份模式
. . . . . .
44.
superuser 登录 primary
. . . . . .
45.
第二参数可以提示尽快完成事务
select pg start backup(”); . . . . . .
46.
建立 standby 环境
. . . . . .
47.
以 postgres 用户身份
mkdir /standby/path . . . . . .
48.
chmod -R 700
/standby/path . . . . . .
49.
tar 或 rsync
将 primary 数据区复制过来 . . . . . .
50.
删除 postmaster.pid
. . . . . .
51.
将预设的 standby 文件,postgresql.conf
和 recovery.conf 放到数 据区。 . . . . . .
52.
根据实际情况,调整 pg hba.conf
. . . . . .
53.
启动 standby
. . . . . .
54.
pg ctl -D
$PGSTANDPATH start . . . . . .
55.
primary 转为正常工作模式
. . . . . .
56.
select pg stop
backup(); . . . . . .
57.
发散讨论
. . . . . .
58.
可以使用 clean command
清理过期的归档文件。 . . . . . .
59.
利用归档文件,可以建立可回溯的高可靠性备份机制。
. . . . . .
60.
利用 hot standby
机制,可以方便的实现单写多读的负载均衡机 制。 . . . . . .
61.
压缩传输可以利用宽裕的 CPU 资源换取有限的带宽。
. . . . . .
62.
刘鑫 @ 金山快盘
再见! . . . . . .
Download now