切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
Postgre SQL
PostgreSQL 备份与恢复示例
PostgreSQL 备份与恢复示例
2020-05-30
Postgre SQL
前端之家
前端之家
收集整理的这篇文章主要介绍了
PostgreSQL 备份与恢复示例
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
301
_0@
Postgre
sql
备份与恢复示例 Itpub 网友:caleble 一、 简介 Postgre
sql
的备份分为三种: l
sql
转储 l
文件
系统级别备份(冷备份) l 在线热备份(归档) 以下通过实例来讲解 Postgre
sql
的三种备份。 二、
sql
转储 (一)pg_dump 1,创建
数据库
createdb pg 2,连入
数据库
pg p
sql
pg 3,创建测试表,插入数据 pg=# create table pg_test(a int); pg=# insert into pg_test(a) values(1); pg=# insert into pg_test(a) values(2); 4,查看数据 pg=# select * from tb; a --- 1 2 (2 rows) 5,备份 pg_dump pg > /usr/local/pg
sql
/backup/pg.dmp 6,
删除
数据库
pg dropdb pg 7,创建新
数据库
(恢复之前需创建
数据库
) createdb pg 开源时代 2009 年 10 月刊 - 69 - 投稿邮箱:rmzhou@staff.chinaunix.net ChinaUnix.net -----全球最大的 Linux/Unix 应用与开发者
中文
社区 8,恢复数据 p
sql
pb < /usr/local/pg
sql
/backup/pg.dmp 9,查看数据是否
回复
pg=# select * from tb; a --- 1 2 (2 rows) 至此,数据已成功恢复! 注:pg_dump 可以对针对单表或者多表进行备份 如:pg_dump databasename –t tablename1 –t tablename2 >filename (二)pg_dumpall pg_dump 只能备份单个
数据库
,而且恢复的时候需要创建空
数据库
。pg_dumpall 可以备份所 有
数据库
,并且备份角色、表空间。 1,创建
数据库
createdb pg1 createdb pg2 2,pg1 中创建表并插入数据 p
sql
pg1 pg=# create table tb1(a int) pg=# insert into tb1(a) values(1); 3,pg2 中创建表并插入数据 p
sql
pg2 pg=# create table tb2(a int) pg=# insert into tb2(a) values(2); 4,备份
数据库
pg_dumpall > /usr/local/pg
sql
/backup/pg_all.dmp 5,
删除
数据库
dropdb pg1 dropdb pg2 6,恢复
数据库
p
sql
–f /usr/local/pg
sql
/backup/pg_all.dmp postgres 可以指定任何
数据库
名,如果恢复到一个空的集群中,通常使用 postgres
数据库
7,查看
数据库
pg1 是否恢复 p
sql
pg1 pg=# select * from tb1; a --- 1 (1 rows) 8,查看
数据库
pg2 是否恢复 p
sql
pg2 pg=# select * from tb2; a --- 2 (1 rows) 至此,数据已成功恢复! (三)备份压缩与分割 压缩与分割的原理都是利用 Linux 的管线(PIPE)命令,不再进行试验。 1)压缩 l 备份: pg_dump dbname | gzip > filename.gz l 恢复 gunzip -c filename.gz | p
sql
dbname 2)分割 l 备份: pg_dump dbname | split -b1m- filename l 恢复 cat filename* | p
sql
dbname 三、
文件
系统级别备份(冷备份)
文件
系统级别的备份是冷备份,需要停止
数据库
。 1,停止
数据库
pg_ctl –D /usr/local/pg
sql
/data stop 2,备份
数据库
tar –jcv –f /usr/local/pg
sql
/backup/filesystem.tar.bz2 /usr/local/pg
sql
/data/ 3,
删除
/usr/local/pg
sql
/data/目录 rm –r /usr/local/pg
sql
/data/ 4,解压备份
文件
到原目录 tar –jxv –f /usr/local/pg
sql
/backup/filesystem.tar.bz2 –C / 5,启动
数据库
pg_ctl –D /usr/local/pg
sql
/data start 6,查看
数据库
pg1 是否恢复 p
sql
pg1 pg=# select * from tb1; a --- 1 (1 rows) 7,数据已成功恢复! 四、 在线热备份(归档) (一)备份 1,配置归档模式 配置归档需要编辑 postgre
sql
.conf
文件
,默认为与/usr/local/pg
sql
/data/目录下 开源时代 2009 年 10 月刊 - 72 - 投稿邮箱:rmzhou@staff.chinaunix.net ChinaUnix.net -----全球最大的 Linux/Unix 应用与开发者
中文
社区 vim /usr/local/pg
sql
/data/postge
sql
.conf archive_mode = on archive_command = ‘cp %p /usr/local/pg
sql
/backup/archived_log/%f’ 注:%p 要被归档的日志
文件
的路径,%f 是要被归档的日志
文件
的
文件
名 2,启动
数据库
pg_ctl –D /usr/local/pg
sql
/data start 3,创建
数据库
arch createdb arch 4,创建表并插入记录 p
sql
arch arch=# create table tb(a int); arch=# insert into tb(a) values(1); 5,创建备份 arch=# select pg_start_backup(‘baseline’); 6,备份整个 data 目录 tar –jcv –f /usr/local/pg
sql
/backup/baseline.tar.bz2 /usr/local/pg
sql
/data/ 7,停止备份 p
sql
arch arch=# select pg_stop_backup(); 8,插入新记录,然后切换日志,重复 3 次 arch=# insert into tb(a) values(2); arch=# select pg_switch_xlog(); arch=# insert into tb(a) values(3); arch=# select pg_switch_xlog(); arch=# insert into tb(a) values(4); arch=# select pg_switch_xlog(); 9,把/data/pg_xlog/下的 WAL 日志
文件
复制到预设的归档目录下,保证产生的 WAL 日志都已归 档。 (二)恢复 1,停止
数据库
pg_ctl –D /usr/local/pg
sql
/data/ stop 2,
删除
/data/ rm –r /usr/local/pg
sql
/data/ 3,恢复备份 tar –jxv –f /usr/local/pg
sql
/backup/baseline.tar.bz2 –C / 4,清空/data/pg_xlog/目录下所有
文件
rm –r /usr/local/pg
sql
/data/pg_xlog/ 5,创建/pg_xlog/及其下面的 archive_status 目录 mkdir /usr/local/pg
sql
/data/pg_xlog/ mkdir /usr/local/pg
sql
/data/pg_xlog/archive_status 6,在/data/目录下创建 recovery.conf vim /usr/local/pg
sql
/data/recovery.conf restore_command = ‘cp /usr/local/pg
sql
/backup/archived_log/%f “%p”’ 7,启动
数据库
pg_ctl –D /usr/local/pg
sql
/data/ start 一切正常的话
数据库
就会
自动
应用 WAL 日志进行恢复 8,查看
数据库
arch 是否恢复 p
sql
arch arch=# select * from tb; a --- 1 2 3 4 (4 rows) 至此,数据已经成功恢复!
上一篇:postgresql 创建表分区
下一篇:PostgreSQL 9.0 beta1版发布
猜你在找的Postgre SQL相关文章
PosegreSQL基础回顾(第 4 章 SQL语法)
来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键...
作者:前端之家 时间:2020-11-21
PosegreSQL基础回顾(第 8 章 数据类型)
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的...
作者:前端之家 时间:2020-11-21
PosegreSQL基础回顾(第 5 章 数据定义)
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。...
作者:前端之家 时间:2020-11-21
PosegreSQL基础回顾(第 6 章 数据操纵、第 7 章 查询)
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行...
作者:前端之家 时间:2020-11-21
PosegreSQL基础回顾(第 13 章 并发控制)
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是Po...
作者:前端之家 时间:2020-11-21
PostgreSQL安装和使用
青岛OJ系统用的关系型数据库是PostgreSQL,为此对PostgreSQL大致了解下。 今天的主要话题围...
作者:前端之家 时间:2020-11-01
PostgreSQL整体架构
作者:前端之家 时间:2020-08-07
为什么选择PostgreSQL而不是MySQL
David Bolton是一名独立开发者,他使用PostgreSQL和MySQL都已有超过十年的时间。近日,他撰...
作者:前端之家 时间:2020-08-07
为什么选择PostgreSQL而不是MySQL
David Bolton是一名独立开发者,他使用PostgreSQL和MySQL都已有超过十年的时间。近日,他撰...
作者:前端之家 时间:2020-08-07
专访唐成:从小工到专家,PostgreSQL的修炼之道
唐成,拥有十几年数据库、操作系统、存储领域的工作经验。目前任沃趣科技首席数据库架构师...
作者:前端之家 时间:2020-08-07
编程分类
MySQL
MsSQL
Oracle
Sqlite
Postgre SQL
Mariadb
MongoDB
NoSQL
HBase
JDBC
最新文章
• PosegreSQL基础回顾(第 4
• PosegreSQL基础回顾(第 8
• PosegreSQL基础回顾(第 5
• PosegreSQL基础回顾(第 6
• PosegreSQL基础回顾(第 13
• PosegreSQL基础回顾(第 9
• PostgreSQL安装和使用
• PostgreSQL整体架构
• 为什么选择PostgreSQL而不
• 为什么选择PostgreSQL而不
热门标签
更多 ►
undo日志
persistent-c
mysql-error-
postal-code
sql-match-al
mysql-5.6
mysql-8.0
database-tri
安装路径
系统错误
data_dir
丢失文件
主从同步
sql_mode
数据库目录
匿名用户
character_se
ID归零
数据库位置
查询表
重复字段
查询字段
截断日志
SUSPECT
7391
Remote Serve
Linked Serve
玄学问题
登录不上
开启远程访问