`

Postgresql 主从数据库备份

 
阅读更多
一。   内网环境测试  (192.168.8.20    192.168.8.21   2台机器安装路径均和外网保持一致)

Root    

启动命令:
/mapbar/app/pgsql/bin/postgres -D /mapbar/app/pgsql/data
/mapbar/db/program/postgresql-9.2.4/bin/postgres -D /mapbar/db/data




一。 修改主机的配置文件,然后重启数据库:

1. 添加复制的用户:

su  postgres
/mapbar/app/pgsql/bin/psql postgres  
Create user repl superuser password '111qqq,,,';

2. 修改pg_hba.conf 文件:

vi /mapbar/app/pgsql/data/pg_hba.conf  (这里8.20, 8.21 最好都加上 要不以后备机切主机也需要增加权限ip)
host    replication     repl         192.168.8.21/0      password

3. 修改postgresql.conf 文件:

wal_level = hot_standby	
max_wal_senders = 5
listen_addresses = '*'

(  这段不用了  写的不对
archive_mode =on  --开启归档
archive_command ='test ! -f /mapbar/app/pgsql/archive_log/%f && cp %p /mapbar/app/pgsql/archive_log/%f' 
)


hot_standby = on

4.  重启数据库



二。  修改备机的配置文件,然后关闭备机数据库:

1. 修改 recovery.conf: (此文件是从: /mapbar/db/program/postgresql-9.2.4/share   下面的recovery.conf.sample  文件拷贝到data下 改名而得)

standby_mode = on
primary_conninfo = 'host=192.168.8.20 port=5432 user=repl password=111qqq,,,'


三。     主机执行命令:(或者到bin下面执行 ./psql)

Su postgres:
psql -c "select pg_start_backup('initial_backup');"
Su  root:
rsync -cva -P --inplace --exclude=*pg_xlog* /mapbar/app/pgsql/data/ 192.168.8.21:/mapbar/db/data/
Su postgres:
psql -c "select pg_stop_backup();"

四。   启动备机的数据库:

五。  测试新加入一个user用户:

 看看备机数据库有没有这个用户


=========================   备机切主机    ===================================

六。 如果想从备机切换到主机:

备机:
1. recovery.conf 增加:

trigger_file = '/mapbar/sh/trigger.kenyon'

2. 重启数据库

3. 停掉主机的数据库 

4. 备机执行:

touch /mapbar/sh/trigger.kenyon    (创建了一个文件,数据库可以读到就切换为主机)

这时候:recovery.conf 文件已经变成了  recovery.done

5. 切换tomcat 连接 8.21的数据库,启动。
添加一个账号: 21AAA 的数据,这时8.20 是没有这个数据的

主机:
6. 拷贝备机的recovery.done  到主机上:recovery.conf:
修改里面的内容:
primary_conninfo = 'host=192.168.8.21 port=5432 user=repl password=111qqq,,,'

(   ================   这一步应该在开始配置的时候就加上, 避免备机数据库的重启
修改备机的 pg_hba.conf 的配置,允许主机访问:
host    replication     repl         192.168.8.20/32      password

重启备机的数据库

)


7. 启动主机:
报错:
FATAL:  timeline 1 of the primary does not match recovery target timeline 2

需要重新从备机 copy data 到主机:
     cd /mapbar/db/program/postgresql-9.2.4/bin/

Su postgres:
./psql -c "select pg_start_backup('initial_backup');"

Su  root:
rsync -cva -P --inplace  /mapbar/db/data/ 192.168.8.20:/mapbar/app/pgsql/data/

Su postgres:
./psql -c "select pg_stop_backup();"

8. 启动主机,这时主机已变成了备用机

使用原备机的数据库创建账号,可以看见原主机也有了账号





相关资料:
http://my.oschina.net/Kenyon/blog/98217

http://www.tuicool.com/articles/rmEnUnN

http://blog.sina.com.cn/s/blog_6cd44dbc0101cbvt.html

http://www.pgsqldb.org:8079/pgdoc/tutorial-zh_cn.html


http://francs3.blog.163.com/blog/static/4057672720149285445881/

 

分享到:
评论

相关推荐

    Postgresql主从异步流复制方案的深入探究

    **PostgreSQL主从异步流复制方案的深入探究** 在数据库管理中,主从复制是一种常用的高可用性和灾难恢复策略。PostgreSQL自9.0版本起引入了流复制功能,使得从服务器能够实时地从主服务器接收并应用WAL(Write-...

    postgresql12主从集群安装

    【PostgreSQL 12主从集群安装】 在搭建PostgreSQL 12主从集群时,首先需要理解主从复制的概念。主从复制是数据库高可用性的一种常见解决方案,它允许数据从一个节点(主节点)实时同步到另一个或多个节点(从节点)...

    postgresql数据库手动安装以及主从配置

    PostgreSQL主从复制主要依赖于流式复制(Streaming Replication)技术,它允许一个数据库实例(主节点)将数据变更实时传输到另一个实例(从节点)。 1. **设置主节点**: - 创建复制角色:在主节点上,创建一个...

    PostgreSQL 主从复制高可用集群搭建

    【PostgreSQL 主从复制高可用集群搭建】 在构建 PostgreSQL 高可用集群时,主从复制是一种常见的策略,它能够提供数据冗余和故障转移能力。本文将详细介绍如何在 PostgreSQL 16 beta 1 版本上搭建异步复制模式的...

    postgresql数据库自动化单机主从部署-吴永胡

    本篇文章将详细讲解如何进行PostgreSQL数据库的自动化单机主从部署,以实现数据的安全备份和高可用性。 首先,理解"主从部署"的概念至关重要。主从复制(Master-Slave Replication)是一种常见的数据库高可用解决...

    PostgreSQL 8.3 数据库文档

    ### PostgreSQL 8.3 数据库文档关键知识点解析 #### 一、PostgreSQL 8.3 异步复制机制 **1.1 复制模式** PostgreSQL 8.3 支持一种基于异步复制的架构,允许一个主节点向多个从节点进行数据复制。这种模式使得主...

    6-PostgreSQL复制原理及高可用集群.pdf

    PostgreSQL复制原理与高可用集群是数据库管理中的关键概念,主要目标是确保数据的持续性和服务的不间断。本文将深入探讨PostgreSQL的流复制和逻辑复制机制,以及如何构建高可用集群。 首先,我们来看PostgreSQL的流...

    特别有用的PostgreSQL数据库复制与CDC实施方案详细手册

    本文档详细介绍了PostgreSQL数据库复制与CDC的基本概念、操作配置、以及运维管理,旨在为数据库管理员和开发者提供详尽的实施方案。 首先,我们需要理解PostgreSQL数据库复制的基本概念。数据库复制功能是指实时...

    PostgreSQL 数据库优化 培训视频【18集】

    根据提供的标题、描述、标签及部分内容,我们可以提炼出与PostgreSQL数据库优化相关的多个知识点。以下是对这些知识点的详细阐述: ### PostgreSQL数据库优化培训视频概述 PostgreSQL是一款强大的开源对象关系型...

    PostgreSQL从入门到精通视频教程(全).zip

    5. **备份与恢复**:学习如何进行数据库备份,使用pg_dump和pg_restore工具,以及如何实现热备份和流复制。 **二、进阶篇** 6. **事务处理与并发控制**:理解ACID(原子性、一致性、隔离性、持久性)原则,以及...

    pg12主从高可用+timescaledb分布式节点

    Patroni是一款用于管理PostgreSQL集群的开源工具,它实现了基于etcd或Zookeeper的分布式锁服务,确保在主从复制模式下能自动完成故障切换,保持数据库服务的连续性和稳定性。在PostgreSQL 12中,Patroni可以帮助我们...

    PostgreSQL数据库介绍

    ### PostgreSQL数据库介绍 #### PostgreSQL简介 PostgreSQL是一种先进的开源对象-关系型数据库管理系统,起源于伯克利大学的POSTGRES项目。自1996年以来,PostgreSQL通过不断的改进和发展,已经成为世界上最强大的...

    postgresql实例参考(中文高清PDF)

    6. 复制与备份:主从复制,逻辑复制,备份与恢复策略。 7. 性能调优:查询优化,统计信息,索引选择,资源调度。 8. 扩展与插件:利用PL/pgSQL编写存储过程,安装第三方扩展。 四、学习路径 对于初学者,可以从基础...

    postgresql_ha.zip

    综上,"postgresql_ha.zip"提供的Ansible方案可以帮助我们高效地搭建PostgreSQL主从复制环境,同时实现数据的备份和恢复,为企业的数据安全提供有力保障。通过学习和实践这一自动化流程,我们可以提升运维效率,降低...

    PostgreSQL DBA内部培训讲义

    培训内容涵盖逻辑结构基础、安装及文件结构、配置基础、数据库逻辑结构、数据备份与恢复、数据库权限及安全管理、基于时间点的数据恢复、运行时维护管理、数据类型、存储过程及调试、并发控制、JDBC、libPQ以及监控...

    PostgreSQL 数据库系统 45页介绍.pdf

    在PostgreSQL集群中,可以利用主从复制、分区、读写分离、并行处理等技术实现高性能、高可用性、高可伸缩性的数据库解决方案。 ### 结论 PostgreSQL是一个不断进步且强大的开源数据库管理系统。它的灵活性、高可用...

    postgresql-9.6.3.tar.gz 下载

    9. **复制与高可用**:PostgreSQL提供流复制(WAL shipping)和逻辑复制功能,实现主从复制,保障数据高可用。9.6版本引入了并行查询,提高了多核心处理器上的查询性能。 10. **备份与恢复**:常用备份方法有物理...

    PostgreSQL_8.2.3.rar_postgresql_windows 8

    7. **复制与高可用性**:PostgreSQL 8.2.3支持简单的主从复制,这是实现高可用性和灾难恢复的基础。文档会涵盖复制的设置和维护。 8. **函数与过程**:PostgreSQL允许用户定义自定义函数和存储过程,文档会展示如何...

    PostgreSQL-9-Admin-Cookbook.pdf

    而文件描述“最近要学习一下这个数据库,放在这里备份”以及文件标签“PostgreSQL9 Admin Cookbook pdf”说明了文件的性质和用途。文件内容部分提到的“Simon Riggs”、“Hannu Krosing”、“PostgreSQL ...

Global site tag (gtag.js) - Google Analytics