pg_dump:是一个用于备份PostgreSQL数据库的实用工具,即使当前数据库正在使用,也能够生成一致性的备份,且不会阻塞其他用户访问数据库(包括读、写)。
pg_restore :从一个归档中恢复一个由 pg_dump 创建的 PostgreSQL 数据库.

1.在命令行中进入pg安装包的bin目录

pg_dump 的文件导入 mysql pgdump 导入表_postgresql


pg_dump 的文件导入 mysql pgdump 导入表_pg_dump 的文件导入 mysql_02

2.新建一个文件夹,准备从表中导出来的数据

pg_dump 的文件导入 mysql pgdump 导入表_postgresql_03

3.明确需要导出的表

pg_dump 的文件导入 mysql pgdump 导入表_命令行_04

4.在命令行中书写:

pg_dump -d test_localhost -h 127.0.0.1 -p 5432 -U postgres -f C:\Users\admin\Desktop\个人\test\temp.dmp -F t -t dic.icd10_code
-d:-d后面接的是数据库的名称
-h:接的是主机名
-p:接的是端口号
-U:接的是用户名
-f:接的是导出表的位置和重命名
-F t:表示tar压缩
-t:后面接的是具体在哪个模式下的那张表

5.输入口令

pg_dump 的文件导入 mysql pgdump 导入表_pg_dump 的文件导入 mysql_05


口令即是-U 后面带的用户的密码

以上需要填写的内容基本对应如下:

pg_dump 的文件导入 mysql pgdump 导入表_postgresql_06

6.导出完成

pg_dump 的文件导入 mysql pgdump 导入表_pg_dump 的文件导入 mysql_07


如果数据量很大的话,不会立即执行成功,留下黑窗口,等完全导出完才能进行下一步操作,但是我们可以在导出的文件夹里看

pg_dump 的文件导入 mysql pgdump 导入表_PostgreSQL_08

7.导入

明确需要导入的地方:

pg_dump 的文件导入 mysql pgdump 导入表_命令行_09


编写导入命令:

pg_restore -d test_localhost -U postgres -h 127.0.0.1 -p 5432 C:\Users\admin\Desktop\个人\test\temp.dmp

导入时是直接导进数据库,所以不用选择模式,因为在之前的导出的时候,导出文件dmp中就已经包含了这些信息,所以我们在导入到一个库里的时候,必须保证有该模式,同时不要存在该表,

比如,导出的时候,temp.dmp 中导出的是dic.icd10_code,所以我们需保证我们要导入的数据库中有dic模式,且该模式中没有icd10_code这张表,才会导入成功,不然就会报如下错误:

pg_dump 的文件导入 mysql pgdump 导入表_postgresql_10

8.导入成功

没导入之前:

pg_dump 的文件导入 mysql pgdump 导入表_命令行_11


导入之后:

pg_dump 的文件导入 mysql pgdump 导入表_pg_dump 的文件导入 mysql_12