postgresql 数据库的备份和还原

时间:2024-02-17 13:30:11

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

windows : cd C:\PostgreSQL\pg95\bin

ubuntu : cd /etc/postgresql/9.5/main

 

第二步:备份数据库

C:\PostgreSQL\pg95\bin>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
--恢复:无