- 浏览: 280679 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
chenxliang:
2016年10月26、27日,上海浦东,Postgres中国用 ...
用JDBC连接Postgres(Postgres学习笔记1) -
cuiran:
不错,讲的很详细。
web.xml 中的listener、 filter、servlet 加载顺序及其详解 -
i_am_birdman:
PostgreSQL的管理启动服务pg_ctl -D /pat ...
PostgreSql 数据库备份恢复 删除 建立 -
i_am_birdman:
songshuang 写道现在觉悟也不晚!加油!
加油呵呵
人生规划啊 -
songshuang:
现在觉悟也不晚!加油!
人生规划啊
配了快一个星期吧。看的英文文档。不停的google。英文真是我的硬伤。
参考资料:http://wiki.postgresql.org/wiki/Streaming_Replication
http://hi.baidu.com/magicgrass/blog/item/69fcdb1e297248e9e0fe0bef.html
http://brandonkonkle.com/blog/2010/oct/20/postgres-9-streaming-replication-and-django-balanc/
http://www.postgresql.org/docs/devel/static/#STANDBY-SERVER-OPERATION
---------------------------------------------------------------------------------------------------
我的主机做master/primary,ip:172.29.0.43.
slave/的ip是:172.29.0.44 ,端口都是5432.
现在我的主机上创建个角色用于Replication时slave的登录role,假设角色名为slave1
CREATE ROLE name REPLICATION LOGIN
然后配置主机postgresql.conf和pg_hba.conf
往pg_hba.conf添加如下:
host all all 172.29.0.44/32 trust host replication slave1 172.29.0.44/32 trust
修改postgresql.conf如下:
wal_level = hot_standby archive_mode = on archive_command = 'cp -i %p /opt/PostgreSQL/9.1/archive/%f' archive_timeout = 600 max_wal_senders = 10 wal_keep_segments = 32
然后创建在archive_command中出现的目录。并给予777权限。
接着开始在主机上创建备份
[root@ShadowFiend data]# su postgres bash-4.1$ pg_ctl start bash-4.1$ psql postgres -c "select pg_start_backup('backup',true)"
然后用scp 传送到 172.29.0.44 或者 用 tar -czvf ****.tar.gz data;/打包 传到172.29.0.44 上的 PostgreSQL 下 的 data 下 并且覆盖 除了 postgresql.conf ,pg_hba.conf 的所有文件。删除 data/postmaster.pid。
然后主机执行
bash-4.1 $ psql postgres -c "select pg_stop_backup" bash-4.1 $ pg_ctl restart
接着在172.29.0.44上 用root 用户给覆盖过的 data/目录 更改属主
chown -R postgres data
并且修改data下的postgresql.conf :
wal_level=hot_standby hot_standby=on
从share/postgresql/复制一个recovery.conf的sample到data/下
cp share/postgresql/recovery.conf.sample data/recovery.conf
并添加
restore_command=‘cp /opt/archive/%f%p’ archive_cleanup_command=‘pg_archivecleanup/archive%r’ standby_mode=‘on’ primary_conninfo=‘host=172.29.0.43 port=5432 user=slave1 password=’ trigger_file= '/opt/archive/trigger_file.172.29.0.43'
接着启动172.29.0.44的服务吧。
ok。
---------------------------------------------------------------------------------------------------------------------------------------------
有错误看data/pg_log/下的日志。
中间有次不小心吧primary上的/data/pg_xlog/删光了,数据库就启动不起来,重新拷贝了其他机器上的/data 下来覆盖。。。。。
-----------------------------------------------------------------------------------------------------------------------------------------------
:-),出错了,大概是primary 和 slave 都关机后,再启动起来报错
DEBUG: received replication command: IDENTIFY_SYSTEM DEBUG: received replication command: START_REPLICATION 0/18000000 2011-12-09 11:07:52 CST LOG: streaming replication successfully connected to primary 2011-12-09 11:07:52 CST FATAL: could not receive data from WAL stream: FATAL: requested WAL segment 000000010000000000000018 has already been removed
google了一下,解答如下、
The cause is very simple - the standby needs all WAL segments created since the backup started, but the master removes some of them. There are two ways to fix this: 1) increase the wal_keep_segments so that enough segments is kept It seems that the slave asked for B110000000D when master already created B110000000D. That's almost 4000 segments if I'm counting correctly. That means your database is either quite busy or the backup takes very long time. This stores all the data on master, so you'll have to keep that in mind when planning the capacity. For example the 4000 segments are almost 64GB. 2) Set up a WAL archive - a separate instance where the WAL segments are kept. See how the archive_command works. And there's pg_archivecleanup for maintenance of the archive. Tomas
发表评论
-
Mark20151225
2015-12-25 15:30 502SELECT review.* FROM `xx_revi ... -
Batch update returned unexpected row count from update [0]; actual row count
2015-11-12 10:27 648Batch update returned unexpecte ... -
查看oracle版本
2015-01-15 11:18 6161 查看oracle的版本信息 (1)用客户端连接到数据库 ... -
oracle主键自增
2014-11-26 16:37 726CREATE SEQUENCE TEST_TA ... -
查看表空间下用户表的大小(GB)
2014-07-21 14:31 669所占空间由大到小的前三十的数据表: select * ... -
查看表空间(oracle)占用情况
2014-06-24 11:03 965select total.tablespace_name, ... -
ORA-28000: the account is locked-的解决办法
2014-05-19 21:58 960进入sqlplus conn /as sysdba ... -
oracle 表空间不足
2014-05-09 18:02 0### Error updating database. C ... -
WAL
2013-08-05 17:39 737WAL: Write-Ahead Logging[1] 预写日 ... -
psql 常用命令
2013-06-05 19:37 824http://wenku.baidu.com/view/27e ... -
postgresql:pg_restore: [archiver] input file does not appear to be a valid archi
2013-03-03 17:43 2047[root@ShadowFiend Gogo_yueyue ... -
postgreSql千万级的数据量怎么备份
2012-03-13 10:26 2099Postgresql提供了3种备份方式。 1.pg_dump. ... -
postgresql :vacuum full
2012-01-06 14:30 1642http://wiki.postgresql.org/wiki ... -
删除pg_xlog导致Pg无法启动
2011-12-29 09:41 3892前几天由于做9.1PIRT,postgresql.conf中的 ... -
pgpool_II并行模式配置
2011-12-26 14:03 1705pgpool_II并行模式配置(parallel_mode) ... -
PostgreSql 版本迁移(9.0-9.1)
2011-11-29 20:27 1932为了传说中9.1的hot_standy ... -
linux下利用PostgreSQLpgpool-II搭建集群(视频,资料)
2011-11-24 21:58 1124http://www.youku.com/playlist_s ... -
大数据下的数据分析平台架构
2011-11-22 22:08 1111http://cloud.csdn.net/a/20110 ... -
pg_dump 备份恢复单个表单数据
2011-11-22 10:01 4662/opt/PostgreSQL/9.0/bin/pg_ ... -
SQLite入门与分析(一)---简介
2011-10-09 11:07 846写在前面:出于项目 ...
相关推荐
jar包文件:postgresql-9.1-901-1.jdbc4.jar javadoc API文档文件:postgresql-9.1-901-1.jdbc4-javadoc.jar sources 源代码文件(若本来存在):postgresql-9.1-901-1.jdbc4-sources.jar 对应Maven信息: ...
postgresql9.1版本安装包64位版本
jar包文件:postgresql-9.1-901.jdbc3.jar javadoc API文档文件:postgresql-9.1-901.jdbc3-javadoc.jar sources 源代码文件(若本来存在):postgresql-9.1-901.jdbc3-sources.jar 对应Maven信息: groupId:...
jar包文件:postgresql-9.1-901.jdbc4.jar javadoc API文档文件:postgresql-9.1-901.jdbc4-javadoc.jar sources 源代码文件(若本来存在):postgresql-9.1-901.jdbc4-sources.jar 对应Maven信息: groupId:...
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL。版本为postgresql-9.1.24-1-linux-binaries.tar.gz,度盘下载
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL。度盘下载
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL。度盘下载
postgresql-13.3-2-windows-x64 windows安装器 postgresql-13.3-2-windows-x64 windows安装器 postgresql-13.3-2-windows-x64 windows安装器 postgresql-13.3-2-windows-x64 windows安装器 postgresql-13.3-2-...
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL。度盘下载
PostgreSQL(postgresql14-devel-14.1-1PGDG.rhel7.x86_64.rpm)适用于RHEL/CentOS/Oracle Linux 7 - x86_64 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系...
PostgreSQL主要优势: 1. PostgreSQL完全免费,而且是BSD协议,如果你把PostgreSQL改一改,然后再拿去卖钱,也没有人管你,这一点很重要,这表明了PostgreSQL数据库不会被其它公司控制。oracle数据库不用说了,是...
postgresql-9.1 PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
postgreSQL9.1 安装文件exe postgreSQL9.1 安装文件exe postgreSQL9.1 安装文件exe postgreSQL9.1 安装文件exe postgreSQL9.1 安装文件exe postgreSQL9.1 安装文件exe postgreSQL9.1 安装文件exe
PostgreSQL(postgresql14-contrib-14.1-1PGDG.rhel7.x86_64.rpm)适用于RHEL/CentOS/Oracle Linux 7 - x86_64 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机...
最新PostgreSQL15.2的帮助文档chm文件, 单个文件容易保存并且检索 , 使用起来非常方便。 自己纯手动制作。
PostgreSQL(postgresql13-libs-13.5-1PGDG.rhel7.x86_64.rpm)适用于RHEL/CentOS/Oracle Linux 7 - x86_64 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系...
PostgreSQL(postgresql13-devel-13.5-1PGDG.rhel7.x86_64.rpm)适用于RHEL/CentOS/Oracle Linux 7 - x86_64 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系...
postgresql-9.1-903.jdbc3.jar postgresql驱动
例如,它可能指导用户如何运行“postgresql-9.1.3-1-windows-x64.exe”这个安装程序,包括设置数据目录、配置连接参数、创建第一个数据库超级用户等步骤。 安装过程中,用户需要注意的事项可能包括: - 确保系统...