postgresql 数据库的备份和还原

第一步:通过 cmd 进入到postgresql 安装目录的 bin 下:

windows : cd C:PostgreSQLpg95in

ubuntu : cd /etc/postgresql/9.5/main

第二步:备份数据库

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

-h:数据库服务器地址;

-p:数据库端口号;

-U:U 大写,表示用户名;

-d:数据库名称;

-f:把备份文件放在哪里;

第三步:还原数据库(前提:你要备份的数据库软件里面必须先创建一个数据库)

windows:

psql -h localhost -U postgres -d new_db  -f "C:/emoneysit.bak"

ubuntu:

psql -h localhost -U emmweb -d emmweb < /home/jianghai/Desktop/emmweb.bak 

-h:数据库服务器地址;

-p:数据库端口号;

-U:U 大写,表示用户名;

-d:数据库名称;

-f:备份文件路径以及备份文件名称;

执行命令:备份完成;

转自:https://blog.csdn.net/jinjianghai/article/details/78657725 

--只备份结构
pg_dump -U postgres -d grgzpt -f D:dump.sql -s
--备份结构和数据
pg_dump -U postgres -d grgzpt -f D:dump.sql
--恢复
psql -d postgres -U postgres -f D:dump.sql
 

--备份
pg_dump -h localhost -U postgres -p 5432 postgres> D:databasename.bak
--恢复
psql -h localhost -U postgres -p 5433 -d new_db -f "D:/databasename.bak"

 -F c***可恢复的备份文件最小
--备份
pg_dump -U postgres -p 5433 -F c -f D:vendemo.tar
pg_dump -U postgres -p 5433 -F c -f D:databasename.bak
--恢复
pg_restore -U postgres -p 5433 -d new_db2 D:vendemo.tar

-Z 0~9(压缩级别)**暂时没找到可恢复的方法**备份文件最小
--备份
pg_dump -U postgres -p 5433 -Z 9 -f D:vendemo.tar
--恢复:无

原文地址:https://www.cnblogs.com/SeNaiTes/p/10860470.html