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

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

梦里寻他千百度,伊人却在灯火阑珊处...其实PostgreSQL内置不少的工具,寻找的备份恢复方案就在其中:pg_dump,psql。这两个指令 在数据库的安装目录下,比如我自己本地安装的,路径形如:C:\Program Files\PostgreSQL\9.5\;然后进入到bin文件夹,会看到不少的exe文件,这就是PostgreSQL内置的工具了。里面会找到 pg_dump.exe,psql.exe两个文件。我们怎么用他们?

用法:

备份数据库,指令如下:

pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak

开始-运行-cmd 弹出dos控制台;然后 在控制台里,进入PostgreSQL安装目录bin下:

cd C:\Program Files\PostgreSQL\9.0\bin

最后执行备份指令:

pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak

指令解释:如上命令,pg_dump 是备份数据库指令,164.82.233.54是数据库的ip地址(必须保证数据库允许外部访问的权限哦~),当然本地的数据库ip写 localhost;postgres 是数据库的用户名;databasename 是数据库名。> 意思是导出到C:\databasename.bak文件里,如果没有写路径,单单写databasename.bak文件名,那么备份文件会保存在C: \Program Files\PostgreSQL\9.0\bin 文件夹里。

恢复数据库,指令如下:

psql -h localhost -U postgres -d databasename <  C:\databasename.bak(测试没有成功)

pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "symbolmcnew" --no-password  --verbose "databasename.backup"(测试成功)

指令解释:如上命令,psql是恢复数据库命令,localhost是要恢复到哪个数据库的地址,当然你可以写上ip地址,也就是说能远程恢复(必须保证 数据库允许外部访问的权限哦~);postgres 就是要恢复到哪个数据库的用户;databasename 是要恢复到哪个数据库。<  的意思是把C:\databasename.bak文件导入到指定的数据库里。

以上所有的是针对windows而言的,如果在linux下,会不会有效?

在linux里依然有效。有一个值得注意的是:如果直接进入PostgreSQL的安装目录bin下,执行命令,可能会出现 找不到pg_dump,psql的现象,我们在可以这样:

备份

/opt/PostgreSQL/9.5/bin/pg_dump -h 164.82.233.54 -U postgres databasename > databasename.bak

恢复:

/opt/PostgreSQL/9.5/bin/psql -h localhost -U postgres -d databasename < databasename.bak

转自:http://www.cnblogs.com/xiaofoyuan/p/5253332.html#3715264

原文地址:http://www.open-open.com/lib/view/open1385448336182.html
 
时间: 2024-10-19 17:29:29

postgresql数据库备份和恢复(超快)的相关文章

PostgreSQL数据库备份和恢复(脚本方式)

数据库备份: D:\Program Files\PostgreSQL\9.2\bin> pg_dump -h localhost -U postgres -C --column-inserts -f E:/dbname.sql dbname 数据库恢复: D:\Program Files\PostgreSQL\9.2\bin> psql -h localhost -U postgres -f E:/dbname.sql   注:D:\Program Files\PostgreSQL\9.2\b

12 postgresql数据库备份和恢复

数据表结构备份与恢复 备份 1.找到postgres 安装目录,在找到bin文件夹,会看到一堆exe后缀的文件,用win+r 打开cmd,将pg_dump.exe 拖进cmd黑窗口中 2.基本语法:-h  代表地址 (远程连接用,本地导出无需此项) -U 代表用户  -d 代表数据库  -s 代表存储位置 注:1.-s > 后,不写完整路径的话,存入文件到C盘-用户-Administrator 下 2.不加-s,是整库备份,包括数据,加-s,只导出表结构 恢复 1.找到postgres 安装目录

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

0. 准备工作 linux机器上面 必须安装上pg数据库 然后 需要将 pg的主程序目录 放到环境变量里面去 便于执行命令. 1. 先备份 1. 备份目标数据库: pg_dump -h 10.24.193.25 -U postgres -p 5432 -F c -f /TestPG/TestDS0816.dmp TestDS0816 # -h 小写 指向目标服务器 # -U 大写 使用的用户 # -p 小写 pg 数据库使用的端口. # -F 指代导出格式. c 只的就是 自定义的pg_dump

开源数据库Postgresql的备份和恢复

最近工作上使用的数据库一直是Postgresql,这是一款开源的数据库,而且任何个人可以将该数据库用于商业用途.在使用Postgresql的时候,让我最明显的感觉就是这数据库做的真心好,虽然说数据库的安装包真的很小,但是性能和操作的便捷是一点也不输给其他商业的大型数据库,另外在命令行界面下对该数据库直接进行操作的感觉真的是很爽.在使用数据库的时候,我们作为小公司的数据库管理员有一项工作是不可能避免的,那就是数据的备份和恢复问题.PostgreSQL虽然各个方面的有点很多,但是在数据库备份这方面,

某电商项目PostgreSQL数据库备份恢复方案

某电商项目PostgreSQL数据库备份恢复方案: 下载地址:某电商项目PostgreSQL数据库备份恢复方案

PostgreSQL 数据库备份

PostgreSQL 数据库备份 pg_dump 一.备份还原 注意:命令在pg_dump目录下进行 1.备份test数据库 pg_dump -h 127.0.0.1 -p 5432 -U username -c -f db_back.sql test 2.还原数据到test2数据库 psql -U postgres -f /db_back.sql test2 二.命令详解 基本命令 pg_dump [OPTION]... [DBNAME] 注:数据库名放最后,不指定默认是系统变量PGDATAB

MySQL数据库备份和恢复

目录 MySQL数据库备份和恢复 备份恢复概述 为什么要备份 备份注意要点 还原要点 备份类型: 备份时需要考虑的因素 备份什么 备份工具 冷备份 cp tar mysqldump备份工具 模拟数据库崩溃,最大限度还原数据 mysqldump的分库备份 mysqldump的MyISAM存储引擎相关的备份选项: mysqldump的InnoDB存储引擎相关的备份选项: 生产环境实战备份策略 将误删除了的某个表进行还原 MySQL数据库备份和恢复 备份恢复概述 为什么要备份 灾难恢复:硬件故障.软件

使用exp&amp;imp工具进行数据库备份及恢复

使用exp&imp工具进行数据库备份及恢复1.exp/imp使用方法介绍exp/imp为一种数据库备份恢复工具,也可以作为不同数据库之间传递数据的工具,两个数据库所在的操作系统可以不同.exp可以将数据库数据导出为二进制文件,imp可以将导出的数据文件再导入到相同的数据库或不同的数据库.数据库导出有四种模式:full(全库导出).owner(用户导出).table(表导出).tablespace(表空间导出).full(全库导出):导出除ORDSYS.MDSYS.CTXSYS.ORDPLUGIN

案例:Oracle dul数据挖掘 没有数据库备份非常规恢复truncate删除的数据表

Oracle数据库在没有备份情况下在对表中的某数据表进行truncate删除后,通过oracle dul进行非常规恢复 1.准备oracle dul测试环境 SQL> select count(*) from t_xifenfei; COUNT(*) ---------- 67854 SQL> desc t_xifenfei Name Null? Type ----------------------------------------- -------- ------------------