当前位置: 首页 > article >正文

postgresql 导出CSV格式数据

方法一 psql -c 导出

导出的文件存放在执行psql的客户端。

psql -h 127.0.0.1 -p 5432 -U postgres postgres -Atqc "select oid,relname,relnamespace from tmp_t0 " --csv -o /tmp/test.csv


方法二 psql -f 导出

导出的文件存放在执行psql的客户端。
如果查询很长,可以新建个SQL文件
vi /tmp/test.sql

select oid,relname,relnamespace from tmp_t0

psql -h 127.0.0.1 -p 5432 -U postgres postgres -Atqf /tmp/test.sql --csv -o /tmp/test.csv 

方法三 psql + copy

copy 命令是 postgresql 服务端命令,导出的文件存放在服务器端,而非执行psql的客户端。

psql -h 127.0.0.1 -p 5432 -U postgres postgres

postgres=# \h copy
命令:       COPY
描述:       在档案和数据表间复制数据
语法:
COPY 表名 [ ( 列名称 [, ...] ) ]
    FROM { '文件名' | PROGRAM '命令' | STDIN }
    [ [ WITH ] ( 选项 [, ...] ) ]
    [ WHERE 条件 ]

COPY { 表名 [ ( 列名称 [, ...] ) ] | ( 查询 ) }
    TO { '文件名' | PROGRAM '命令' | STDOUT }
    [ [ WITH ] ( 选项 [, ...] ) ]

选项可以是下列内容之一:

    FORMAT 格式_名称
    FREEZE [ 布尔 ]
    DELIMITER '分隔字符'
    NULL '空字符串'
    HEADER [ 布尔 ]
    QUOTE '引用字符'
    ESCAPE '转义字符'
    FORCE_QUOTE { ( 列名称 [, ...] ) | * }
    FORCE_NOT_NULL ( 列名称 [, ...] )
    FORCE_NULL ( 列名称 [, ...] )
    ENCODING 'encoding_name(编码名)'

URL: https://www.postgresql.org/docs/14/sql-copy.html


postgres=# COPY (select oid,relname,relnamespace from tmp_t0 ) TO '/tmp/test.csv' WITH (DELIMITER ',' , FORMAT CSV);

方法四 psql + \copy

\copy 是 psql 客户端工具提供的命令,导出的文件存放在执行psql的客户端。

psql -h 127.0.0.1 -p 5432 -U postgres postgres

postgres=# \?
...
...
...

输入/输出
  \copy ...              执行 SQL COPY,将数据流发送到客户端主机
  
...
...
...


postgres=# \COPY (select oid,relname,relnamespace from tmp_t0 ) TO '/tmp/test.csv' WITH (DELIMITER ',' , FORMAT CSV);



参考:
http://www.postgres.cn/docs/14/sql-copy.html
http://www.postgres.cn/docs/14/app-psql.html


http://www.kler.cn/news/305224.html

相关文章:

  • 电脑连手机热点,上不了网
  • CSS 响应式设计(补充)——WEB开发系列36
  • [数据集][图像分类]痤疮严重程度分级分类数据集999张3类别
  • QT学习第五天
  • mysql workbench 如何访问远程数据库
  • 快手手撕 力扣2487 从链表中移除节点 单调栈 递归
  • HTTP 请求方式`application/x-www-form-urlencoded` 与 `application/json` 怎么用?有什么区别?
  • C++编译环境(IDE)推荐及安装
  • 美国硅谷大带宽服务器带宽堵塞解决方案
  • Oracle发邮件功能:设置的步骤与注意事项?
  • 【Oracle】TIMESTAMP类型时间计算时间差
  • SprinBoot+Vue宠物共享平台的设计与实现
  • 性能诊断的方法(五):架构和业务诊断
  • 前端下载word、excel文件的两种方法
  • [数据集汇总]智慧交通-铁路相关数据集汇总
  • dedecms靶场(四种webshell姿势)
  • JMeter 入门之远程启动,服务模式,多机联测,负载均衡测试
  • 基于python+django+vue+MySQL的酒店推荐系统
  • Golang | Leetcode Golang题解之第396题旋转函数
  • 数据结构C //线性表(链表)ADT结构及相关函数
  • Qt与MQTT交互通信
  • 探索音视频SDK的双重核心:客户端与服务端的协同作用
  • 裸金属服务器与云服务器的区别有哪些?
  • 选择合适的工业制造营销代理机构:应关注哪些方面
  • 【开源免费】基于SpringBoot+Vue.JS高校心理教育辅导系统(JAVA毕业设计)
  • Axios 掌握现代 Web 开发的 HTTP 客户端
  • jenkins入门
  • Leangoo敏捷工具在缺陷跟踪(BUG)管理中的高效应用
  • 网络编程day05(循环服务器、并发服务器)
  • opencv之Canny边缘检测