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 是将标准输出重定义到文件中。

相关推荐
geovindu6 分钟前
sql: JSON and XML Data Handling in SQL using sql server 2025
大数据·数据库·sqlserver·数据库开发·数据库架构
IT大白鼠28 分钟前
图数据库系列 · 第 02 篇——架构拆解:原生图存储到因果集群
数据库·架构·nosql
EatFan1 小时前
从“框架混战“到“运行时收敛“:2026 年 AI Agent 开发框架的三条路线之争
java·数据库·人工智能·多智能体·ai agent·mcp·agent 框架
小蒜学长1 小时前
基于SpringBoot的佳新超市管理系统设计与实现系统(代码+数据库+LW)
java·数据库·spring boot·后端·佳新超市管理系统
jinyishu_2 小时前
向量数据库入门:记录结构、索引、检索与选型
数据库
写后端的胖头鱼5 小时前
【高频面试题】FullText 全文索引(MySQL)
数据库·mysql·索引·全文索引
路远的数据库笔记6 小时前
SQL Server迁移国产数据库怎么做?九套口岸库零停机割接实战
数据库·经验分享·sqlserver·dba
樱花落木兰6 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
kaiyou20266 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习
mjhcsp6 小时前
DeepSeek V4.1 Flash 批量处理效能实测
java·前端·数据库