postgresql数据库备份
一.工具备份数据
打开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文件然后做以下修改:
- listen_address = ‘*’(默认localhost)
- wal_level = hot_standby(默认是minimal)
- max_wal_senders=2(默认是0)
- wal_keep_segments=64(默认是0)
- 在主库创建一个超级用户来专门负责让standby连接去拖WAL日志:create user repl superuser password '111111';
- 打开数据目录下的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数据库备份的更多相关文章
- PostgreSQL 数据库备份与还原
PostgreSQL 数据库备份与还原 目录 备份 还原 栗子 备份 PostgreSQL提供的一个工具pg_dump,逻辑导出数据,生成sql文件或其他格式文件,pg_dump是一个客户端工具,可以 ...
- PostgreSQL 数据库备份脚本
PostgreSQL 数据库备份脚本 #!/bin/bash # PG家目录(/opt/postgresql/pg96/) PG_HOME=${PGHOME} # pg数据库连接信息 PG_HOST= ...
- postgresql数据库备份和恢复
PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰 ...
- docker容器中Postgresql 数据库备份
查看运行的容器: docker ps 进入目标容器: docker exec -u root -it 容器名 /bin/bash docker 中,以root用户,创建备份目录,直接执行如下命令, p ...
- postgresql数据库备份和恢复(超快)
PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰 ...
- windows下postgresql数据库备份和还原
1.通过cmd进入数据库的bin目录 cd C:\Program Files\PostgreSQL\9.6\bin 2.执行pg_dump备份命令,localhost 或者IP pg_dump -h ...
- PostgreSQL 数据库备份
--CMD管理员进入 --进入目录: C:\Program Files\PostgreSQL\9.6\bin --备份: pg_dump -U postgres MP > C:\mptest.b ...
- 12 postgresql数据库备份和恢复
数据表结构备份与恢复 备份 1.找到postgres 安装目录,在找到bin文件夹,会看到一堆exe后缀的文件,用win+r 打开cmd,将pg_dump.exe 拖进cmd黑窗口中 2.基本语法:- ...
- [完整版]Postgresql 数据库 备份以及恢复的过程
0. 准备工作 linux机器上面 必须安装上pg数据库 然后 需要将 pg的主程序目录 放到环境变量里面去 便于执行命令. 1. 先备份 . 备份目标数据库: pg_dump -h -F c -f ...
随机推荐
- Unity中UGUI鼠标穿透UI问题的解决方法
不过在使用时需要先获取两个红色显示的变量,graphicRaycaster和eventSystem. 这两个变量分别对应的是Canvas中的GraphicRaycaster组件和创建UI时自动生成的“ ...
- 演示stop暴力停止线程导致数据不一致的问题,但是有些有趣的发现 (2017-07-03 21:25)
如注释所言 /** * Created by weiwei22 on 17/7/3. * * 这里主要是为了演示stop导致的数据不一致的问题.stop会暴力的结束线程并释放锁,所以有可能在恰好写了一 ...
- C基础学习笔记
1.C语言运算符优先级: 2.三种循环比较 while.do-while和for三种循环在具体的使用场合上是有区别的,如下: 1).在知道循环次数的情况下更适合使用for循环: 2).在不知道循环次数 ...
- linux下的mysql
1.到下面地址下载通用二进制包 wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.53-linux2.6-x86_64.tar.gz 2.具 ...
- flex 1与flex auto
flex意为"弹性布局" 这次主要探究的是flex:1与flex:auto的区别,flex是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 ...
- 根据ip获取地理信息
function getIPLoc_sina($queryIP){ $url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?form ...
- junit断言和junit注释assert
JUnit - 使用断言 断言 所有的断言都包含在 Assert 类中 public class Assert extends java.lang.Object 这个类提供了很多有用的断言方法来编写测 ...
- IC卡触点释放时序
IC卡触点释放时序过程如下: 要点: 终端必须通过把RST置为低电平状态来启动释放时序: 在置RST为低电平之后VCC断电之前,终端必须将CLK和IO设定为低电平状态: 在置RST.CLK和IO为低电 ...
- Gym - 101490F:Endless Turning (半平面交)
pro:给定R条街道,现在小孩在某条街上骑车车,最开始他沿着所在街道向东(1,4象限的方向)驶去,如果他遇到街道的交叉口,他会右转.问他转N次后在哪个街道.有特殊情况是他一只遇不到交叉口,会沿着街道一 ...
- 百度前端代码规范:CSS
1.代码风格 1.1 文件 [建议] CSS 文件使用无 BOM 的 UTF-8 编码. 1.2 缩进 [强制] 使用 4 个空格做为一个缩进层级,不允许使用 2 个空格 或 tab 字符. 1.3 ...