一.工具备份数据

打开windows下的命令窗口:开始->cmd->安装数据库的目录->进入bin目录;

导出命令:pg_dump –h localhost –U postgres –p 5432 –d postgres  –f “D:/test.dmp”

-h:服务器地址;

-p:端口号;

-U:这里的“U”要大写,用户身分

-d:数据库名称;

-f:文件输出的目录和名称;

恢复数据:

psql -h localhost -U postgres -d new_db  -f "D:\test.dmp"

二.备份归档

创建 WAL 备份目录,比如:  d:\pg_xlog_archive 1

修改 postgresql.conf 中的 archive_command 设置,比如:      archive_command = 'copy "%p" d:\\pg_xlog_archive\\%f'       注:%p 要用双引号括起来处理安装目录中有空格的情况。  archive_mode = on    wal_level='archive'

2   用psql登录数据库服务器,然后执行下面的过程  psql -Ubeigang < beigang_dump.pgdump:      SELECT pg_reload_conf();

3  psql接着执行过程  SELECT pg_start_backup('label');    注:label 建议使用备份目录的全路径。

4  psql接着执行过程  SELECT pg_stop_backup();

5  检查WAL日志归档目录,有的话就成功了。

恢复:

1,停止数据库

2.删除  data目录

3,恢复备份

jar cvfm classes.jar mymanifest -C foo/ .

4,清空/data/pg_xlog/目录下所有文件

5,创建/pg_xlog/及其下面的archive_status目录

6,在/data/目录下创建recovery.conf

7,启动数据库

三.冷备份

PostgreSQL 冷备份, 指在数据库关机状态下对数据库的数据文件进行的备份

冷备份需要备份的是数据库集群主目录($PGDATA), 表空间目录, 事务日志(pg_xlog)目录.

如果在参数文件中指定了其他目录或文件, 某些也需要备份下来.

还原:环境,数据库版本一致;将上述备份内容替换(先删除)

四 主从复制备份

1.主数据库配置

开数据目录下的postgresql.conf文件然后做以下修改:

  1. listen_address = ‘*’(默认localhost)
  2. wal_level = hot_standby(默认是minimal)
  3. max_wal_senders=2(默认是0)
  4. wal_keep_segments=64(默认是0)
  5. 在主库创建一个超级用户来专门负责让standby连接去拖WAL日志:create user repl superuser password '111111';
  6. 打开数据目录下的pg_hba.conf文件然后做以下修改: 

2 从数据库配置

pg_basebackup命令行工具在从库上生成基础备份,命令如下:

./pg_basebackup -h 192.168.111.101 -U repl -F p -x -P -R -D /usr/local/postgresql/data/ -l replbackup201611
从库数据目录下的postgresql.conf文件,将hot_standby改为启用状态,即hot_standby=on

postgresql数据库备份的更多相关文章

  1. PostgreSQL 数据库备份与还原

    PostgreSQL 数据库备份与还原 目录 备份 还原 栗子 备份 PostgreSQL提供的一个工具pg_dump,逻辑导出数据,生成sql文件或其他格式文件,pg_dump是一个客户端工具,可以 ...

  2. PostgreSQL 数据库备份脚本

    PostgreSQL 数据库备份脚本 #!/bin/bash # PG家目录(/opt/postgresql/pg96/) PG_HOME=${PGHOME} # pg数据库连接信息 PG_HOST= ...

  3. postgresql数据库备份和恢复

    PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰 ...

  4. docker容器中Postgresql 数据库备份

    查看运行的容器: docker ps 进入目标容器: docker exec -u root -it 容器名 /bin/bash docker 中,以root用户,创建备份目录,直接执行如下命令, p ...

  5. postgresql数据库备份和恢复(超快)

    PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰 ...

  6. windows下postgresql数据库备份和还原

    1.通过cmd进入数据库的bin目录 cd C:\Program Files\PostgreSQL\9.6\bin 2.执行pg_dump备份命令,localhost 或者IP pg_dump -h ...

  7. PostgreSQL 数据库备份

    --CMD管理员进入 --进入目录: C:\Program Files\PostgreSQL\9.6\bin --备份: pg_dump -U postgres MP > C:\mptest.b ...

  8. 12 postgresql数据库备份和恢复

    数据表结构备份与恢复 备份 1.找到postgres 安装目录,在找到bin文件夹,会看到一堆exe后缀的文件,用win+r 打开cmd,将pg_dump.exe 拖进cmd黑窗口中 2.基本语法:- ...

  9. [完整版]Postgresql 数据库 备份以及恢复的过程

    0. 准备工作 linux机器上面 必须安装上pg数据库 然后 需要将 pg的主程序目录 放到环境变量里面去 便于执行命令. 1. 先备份 . 备份目标数据库: pg_dump -h -F c -f ...

随机推荐

  1. webassembly

    为什么需要 WebAssembly 自从 JavaScript 诞生起到现在已经变成最流行的编程语言,这背后正是 Web 的发展所推动的.Web 应用变得更多更复杂,但这也渐渐暴露出了 JavaScr ...

  2. 曾经觉得学习晦涩难懂的我是如何爱上linux的

    2016年冬天,我已经是一名学习计算机科学与技术专业的大三的“老腊肉”了,但是当时的水平依旧平平.就在2016年快要结束的时候,我周围的同学们被一股考研和工作的压力炸开了锅,我也在默默思考着我的人生, ...

  3. python笔记8-列表list操作、多维数组

    #!/usr/bin/python #python里面有个这个话,代表在linux下运行的时候#去哪个目录下找python的解释器,在windows上运行不用写# coding:utf-8# __*_ ...

  4. binary and out mode to open a file

    When I use binary and out mode to open a exist file, and to modify the 4th and 8th byte data to 0x78 ...

  5. ubuntu 网络配置

    检查网络配置命令:ifconfig 一.通过配置文件配置 新手没怎么用过Ubuntu,所以走了不少弯路,网上找了很多方法,大都没对我起到帮助作用,所以把自己的配置方法写一写. Ubuntu上连了两块网 ...

  6. java学习笔记41(数据库连接池 C3p0连接池)

    在之前的学习中,我们发现,我们需要频繁的创建连接对象,用完之后还需要在关闭资源,因为这些连接对象都是占资源的,但是又不得不创建,比较繁琐,为了解决这种情况,Java出现了数据库连接池: 数据库连接池的 ...

  7. go延时队列

    package main import ( "errors" "flag" "fmt" log "github.com/cihub ...

  8. 操作系统口令认证,sysdba本地登录需要输入密码

    开发测试人员,反馈,sqlplus / as sysdba 登陆需要输入密码? 本篇文档流程: 1.场景还原 2.问题处理 3.相关问题介绍 一.场景还原 1)配置SQLNET.ora配置文件,配置操 ...

  9. Angular4.0引入第三方框架,eg: bootstrap、jquery

    最近学习angular4.0,在练习是需要使用jquery和bootstrap.但是查阅了,大多数都是angular2的方法,或者是angular4.0的方法但是不准确.花了一些时间终于捣腾出来了,把 ...

  10. 2018.4.25 github创建新项目

    echo "# IntegrateDemo" >> README.md git init git add README.md git commit -m "f ...