PostgreSQL数据表的导入导出

需求场景:内部postgresql数据库需要同步到现场环境,由于现场环境有客户真实数据,不能单库导入备份,以免覆盖客户数据,需要导入单个表

导出数据

[root@vrgv ~]# su - postgres
Last login: Wed Dec 2 14:30:42 CST 2020 on pts/1
[postgres@vrgv ~] 
[postgres@vrgv ~]$ pg_dump cn_nc_14_001_tywxc -t '"network"."Park_Network"' -f /home/postgres/Park_Network.sql

pg_dump:备份数据命令

cn_nc_14_001_tywxc:数据库名称

-t '"network"."Park_Network_vertices_pgr"':指定导出的表名称,'"  "'为啥这么写,暂时我也不清楚写法规则

扩展参数:-h 地址 -p 端口   -n 指定schema -Fp 输出一个纯文本sql文件 -E 指定字符集 -f 指定生成的sql文件路径 最后一个是dbname -U 用户 -W 密码

在Navicat中,表层级是这样子的

-f /home/postgres/Park_Network_vertices_pgr.sql:指定导出的位置

导入数据:

我把数据文件放到了/app/sql目录下

[postgres@vrgv ~]$ su - postgres -c "psql -h 127.0.0.1 -U postgres cn_nc_14_001_tywxc < /app/sql/Park_Network.sql"
SET
SET
SET
SET
SET
set_config 
------------

(1 row)

SET
SET
SET
SET
SET
SET
CREATE TABLE
ALTER TABLE
CREATE SEQUENCE
ALTER TABLE
ALTER SEQUENCE
ALTER TABLE
setval 
--------
34
(1 row)

ALTER TABLE
CREATE INDEX

完成

嗨~如果有帮助,请帮忙点个赞吧,谢谢 -致敬每一个正在努力的人
原文地址:https://www.cnblogs.com/dongweizhen/p/14074354.html