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

相关推荐
欢呼的太阳6 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
喜欢的名字被抢了7 小时前
MySQL基础入门:从零理解数据库与SQL
数据库·mysql·教程
Elastic 中国社区官方博客8 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
DLYSB_8 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
儒雅的大叔8 小时前
MySQL数据库InnoDB数据恢复工具使用总结
数据库·mysql·adb
观远数据9 小时前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql
嘉&年华9 小时前
【第008篇】通过dexp和dimp命令导出和导入dmp文件(适用于达梦数据库)
数据库·sql
哥是强混10 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net
ffqws_10 小时前
redis面试:如何保证双写一致
数据库·redis·缓存
水无痕simon11 小时前
6 数据库同义词
数据库