当前位置: 首页 > 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/a/305224.html

相关文章:

  • 深入理解接口测试:实用指南与最佳实践5.0(三)
  • BERT配置详解1:构建强大的自然语言处理模型
  • 金价大跌,特朗普胜选或成导火索
  • 编译ffmpeg动态库时设置RPATH为$ORIGIN
  • react的创建与书写
  • Coggle数据科学 | RAG编码模型对比:谁与OpenAI最为相似?
  • 电脑连手机热点,上不了网
  • 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结构及相关函数