PostgreSQL copy的用法

psql提供了\copy命令和copy

其中\copy是psql的客户端命令行,可以将表导出到本地的csv文件中,但是唯一不足的是不能跨行

如下测试所示

只能在一行中

sql 复制代码
test=# \copy (select * from poly100w) to 'd:\testdata\poly100w.csv' with csv header;
COPY 1189032

如果字段数量比较多,写在一行,非常不方便,不过可以使用以下两种方法解决

第一种 可以使用视图来解决这个问题,这样一行就可以解决。

sql 复制代码
test=# create view poly100w_view as select * from poly100w ;
CREATE VIEW
test=# \copy (select * from poly100w_view) to 'd:\testdata\poly100w.csv' with csv header ;
COPY 1189032

第二种,使用服务器端copy命令是可以换行的

copy是服务端命令,默认output出来的数据是放在服务器端目录中,可以使用如下语法放到客户端中

sql 复制代码
test=# copy
test-# (select
test(# objectid,globalid,gdb_geomattr_data,shape from poly100w)
test-# to stdout with csv header \g 'd:\\testdata\\poly100w.csv'
COPY 1189032

to stdout是将结果导入到标准输出 \g 是将标准输出重定义到文件中。

相关推荐
TDengine (老段)几秒前
TDengine 应用案例 — IoT 设备监控
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
三8442 分钟前
WordPress SQL 注入漏洞分析:从 author__not_in 参数到 REST API 全链路
linux·前端·数据库
ryan_9965 分钟前
生产环境向量检索数据库选型:Elasticsearch、Qdrant、Milvus 与 Chroma
数据库·elasticsearch·milvus·向量数据库·chroma·qdrant
2501_9378609413 分钟前
从JDBC到数据访问:Java数据库编程完全指南
java·开发语言·数据库
smallcelebration14 分钟前
147 postgreSQL使用pgAdmin 4图形界面操作记录
数据库·postgresql
风123456789~16 分钟前
【Oracle专栏】自治事务AT实验、知识点整理
数据库·oracle
2401_8616786234 分钟前
数据控制语言
数据库
云游云记34 分钟前
Redis 在 PHP 中的使用完全教程
数据库·redis·php
张洛闻Eren39 分钟前
云原生k8s【第五课】:资源配额与限制
运维·数据库·云原生·kubernetes·k8s·github
天行健,君子而铎44 分钟前
2026年中国API安全产品综合排名:选型指南与市场趋势解析
大数据·数据库·安全