
梦里寻他千百度,伊人却在灯火阑珊处...其实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 d出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
一、把SQL2005数据库备份恢复到SQL2005数据库中二、在SQL2005数据库中生成脚本 1、选定数据库-->右键-->任务-->生成脚本 2、下一步-->选择数据库 3、下一步-->找到“为服务器版本编写脚本”-->选择“SQL Server 2000数据库” 4、选择“表”,逐步执行下一步三、执行脚本,在SQL2000数据库中生成数据库结构 1、将脚本文件传输到SQL2000数据库电脑 2、运行SQL 2000的查询分析器 3、将脚本内容复制到查询分析器中,执行脚本内容,生成数据库结构 四、导入数据 1、在SQL 2000数据库中,创建数据库 2、选定数据库-->右键-->所有任务-->导入数据 3、选择数据源-->选择服务器-->选择数据库 4、选择目的 5、逐步执行下一步欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)