postgresql-使用pg_dump导出表、pg_store导入表

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

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

postgresql-使用pg_dump导出表、pg_store导入表_第1张图片
在这里插入图片描述

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

postgresql-使用pg_dump导出表、pg_store导入表_第2张图片

3.明确需要导出的表

postgresql-使用pg_dump导出表、pg_store导入表_第3张图片

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.输入口令

在这里插入图片描述
口令即是-U 后面带的用户的密码
以上需要填写的内容基本对应如下:
postgresql-使用pg_dump导出表、pg_store导入表_第4张图片

6.导出完成

在这里插入图片描述
如果数据量很大的话,不会立即执行成功,留下黑窗口,等完全导出完才能进行下一步操作,但是我们可以在导出的文件夹里看
postgresql-使用pg_dump导出表、pg_store导入表_第5张图片

7.导入

明确需要导入的地方:
postgresql-使用pg_dump导出表、pg_store导入表_第6张图片
编写导入命令:

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这张表,才会导入成功,不然就会报如下错误:
postgresql-使用pg_dump导出表、pg_store导入表_第7张图片

8.导入成功

没导入之前:
postgresql-使用pg_dump导出表、pg_store导入表_第8张图片
导入之后:
postgresql-使用pg_dump导出表、pg_store导入表_第9张图片

你可能感兴趣的:(数据库方面,postgresql,数据库)