PostgreSQL数据库完美备份恢复

进入到Postgresql下的bin文件夹,会看到不少的exe文件,这就是PostgreSQL内置的工具了.里面会找到pg_dump.exe.我们实际使用的就是这个.


用法:


?
1
2
3
4
5
6
7
8
9
     
1.
cd C:\Program Files\PostgreSQL\9.3\bin
 
2.
pg_dump -h localhost -U postgres kar > C:\kar.bak
 
 
3.
psql -h localhost -U postgres -d KunlunApple <  C:\kar.bak
1.开始-运行-cmd 弹出dos控制台,然后进入PostgreSQL安装目录bin下,如上面第一条命令.


2.备份

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

指令解释:

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

如上面第二条进行备份.

3.恢复

psql -h localhost -U postgres -d KunlunApple <  C:\kar.bak

指令解释:

  • psql是恢复数据库命令
  • 164.82.233.54是数据库的ip地址(必须保证数据库允许外部访问的权限,如果是本地可以用localhost)
  • postgres 是数据库的用户名;
  • databasename 是要恢复到哪个数据库
  • <   的意思是把C:\databasename.bak文件导入到指定的数据库里


以上所有的是针对windows.

Linux:

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

备份

?
1
/opt/PostgreSQL/9.0/bin/pg_dump -h 164.82.233.54 -U postgres databasename > databasename.bak
恢复:
?.
1
/opt/PostgreSQL/9.0/bin/psql -h localhost -U postgres -d databasename < databasename.bak

1
  转载自:http://my.oschina.net/zhaoqian/blog/209994

你可能感兴趣的:(PostgreSQL数据库完美备份恢复)