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

相关推荐
榮華9 分钟前
DOTA全图透视辅助下载DOTA全图科技辅助下载DOTA外挂下载魔兽争霸WAR3全图下载
数据库·科技·游戏·游戏引擎·游戏程序·ai编程·腾讯云ai代码助手
蓝眸少年CY15 分钟前
Hbase - 入门到实战
大数据·数据库·hbase
DROm RAPS19 分钟前
SQL中如何添加数据
数据库·sql
zzh08121 分钟前
MySQL故障排查与优化笔记
数据库·笔记·mysql
光泽雨22 分钟前
mysql外键
数据库·mysql
惺忪979825 分钟前
Redis安装与启动
数据库·redis·缓存
|华|28 分钟前
PostgreSQL日常维护
数据库·postgresql
APguantou30 分钟前
NCRE-三级数据库技术-第9章-安全管理
数据库·安全·sqlserver
lzhdim42 分钟前
SQL 入门 9:SQL 高级子查询:ANY、EXISTS 与多位置应用
java·开发语言·数据库·sql·mysql
曾凡宇先生43 分钟前
mysql连接问题
数据库