进入到postgresql下的bin文件夹,会看到不少的exe文件,这就是postgresql内置的工具了.里面会找到pg_dump.exe.我们实际使用的就是这个.
用法:
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 弹出控制台,然后进入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(ubuntu测试):
在linux里依然有效。有一个值得注意的是:如果直接进入postgresql的安装目录bin下,执行命令,可能会出现 找不到pg_dump,psql的现象,我们在可以这样:
备份
/opt/postgresql/9.3/bin/pg_dump -h 164.82.233.54 -u postgres databasename > databasename.bak
恢复:
/opt/postgresql/9.3/bin/psql -h localhost -u postgres -d databasename < databasename.bak