
恢复数据库,指令如下:
pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "symbolmcnew" --no-password --verbose "databasename.backup"
指令解释:如上命令,psql是恢复数据库命令,localhost是要恢复到哪个数据库的地址,当然你可以写上ip地址,也就是说能远程恢复(必须保证 数据库允许外部访问的权限哦~);postgres 就是要恢复到哪个数据库的用户;symbolmcnew 是要恢复到哪个数据库,databasename.backup指备份文件。
1、在保存备份文件的目录xxx下建立一个文件backup.sh,其内容是:
tar-zcfbin.tar.gz/bin
tar-zcfboot.tar.gz/boot
tar-zcfdev.tar.gz/dev
tar-zcfetc.tar.gz/etc
tar-zcflib32.tar.gz/lib32
tar-zcflib64.tar.gz/lib64
tar-zcflib.tar.gz/lib
tar-zcfopt.tar.gz/opt
tar-zcfsbin.tar.gz/sbin
tar-zcfselinux.tar.gz/selinux
tar-zcfsrv.tar.gz/srv
tar-zcfvar.tar.gz/var
tar-zcfusr.tar.gz/usr
2、在需要备份的时候进入到保存备份内容的目录执行一次命令:shbackup.sh
3、在保存备份文件的目录xxx下建立一个叫restore.sh的文件,其内容如下:
tar-zxf/mnt/xxx/bin.tar.gz
tar-zxf/mnt/xxx/boot.tar.gz
tar-zxf/mnt/xxx/dev.tar.gz
tar-zxf/mnt/xxx/etc.tar.gz
tar-zxf/mnt/xxx/lib32.tar.gz
tar-zxf/mnt/xxx/lib64.tar.gz
tar-zxf/mnt/xxx/lib.tar.gz
tar-zxf/mnt/xxx/opt.tar.gz
tar-zxf/mnt/xxx/sbin.tar.gz
tar-zxf/mnt/xxx/selinux.tar.gz
tar-zxf/mnt/xxx/srv.tar.gz
tar-zxf/mnt/xxx/var.tar.gz
tar-zxf/mnt/xxx/usr.tar.gz
4、如果需要系统恢复,我就用光盘启动,mount原来的根目录为yyy,接着mount保存备份文件的目录为xxx,接着进入到/mnt/yyy,并在此下达命令:sh/mnt/xxx/restore.sh
说明:
(1)、备份和恢复需要1个多小时,这个时间根据你电脑的CPU速度和硬盘转速会有所不同。
(2)、上面备份与恢复没有顾及/home目录和/root目录,因为我的系统主要是给学生做练习用的,那两个目录的内容没有意义。
在实际工作中,可能这两个目录才是最重要的,你可以模仿着别的目录添加到backup.sh和restore.sh文件中去,甚至别的目录都不备份(以便节约备份时间)就备份这两个目录。
-- 以 test 作为用户名,导出 localhost:5432 服务器上的 Test 数据库。
-- 导出的文件名为 test_data
F:\PostgreSQL\9.2\bin>pg_dump -f test_data -h localhost -U test -p 5432 Test
口令:
F:\PostgreSQL\9.2\bin>dir test_*
驱动器 F 中的卷是 Install
卷的序列号是 24AD-61D9
F:\PostgreSQL\9.2\bin 的目录
2013-04-15 14:46 136,270 test_data
1 个文件 136,270 字节
0 个目录 10,456,657,920 可用字节
-- 将 test_data 文件中的数据,导入到 localhost:5432 服务器上的 Test2 数据库。
F:\PostgreSQL\9.2\bin>psql.exe -h localhost -U test -p 5432 -d Test2 < test_data
用户 test 的口令:test
SET
SET
SET
SET
SET
CREATE SCHEMA
ALTER SCHEMA
CREATE EXTENSION
COMMENT
CREATE EXTENSION
COMMENT
......
上面的例子, 是 备份 / 恢复整个数据库的.
如果你是要 仅仅 备份 / 恢复 某个表的, 那么命令行里面增加下面的参数:
-t, --table=TABLE 只转储指定名称的表
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)