【PostgreSQL】执行SQL脚本文件或者SQL语句并把结果保存到csv文件格式

1、背景说明

平时运维的时候,总是会有需要把指定的查询SQL返回的结果在命令行界面导回自己本地电脑的时候。这个时候就需要想办法了。
下面列出了2种可能的使用场景,另外,下面的导出结果到文件的方法可能也不是唯一的用法。

2、场景1:执行SQL查询语句返回结果导出到指定的文件

如果执行的SQL语句很简单,比如就一行,那这种方式比较适合。
不用进入psql命令行界面,直接进入pg用户管理界面,执行下面的样例,
-d 后面的是数据库名称,
-c 后面的是要执行的SQL语句,
-A -F 2个参数是联合起来使用的,后面的“,"是保存文件的分隔符
-o 后面是保存到的文件路径,特别注意,要估算一下生成文件大概的大小,确保指定的文件保存目录有足够的磁盘空间

psql -d test -c “select id,name from simple” -A -F “,” -o my.csv

例子:

postgres@bd127d290e40:~$ psql -d test -c "select id,name from simple"  -A -F "," -o my.csv
postgres@bd127d290e40:~$ cat my.csv
id,name
1,name1
2,name22
3,name3
(3 rows)
postgres@bd127d290e40:~$

3、场景2:执行SQL脚本文件返回结果导出到指定的文件

当需要执行的SQL语句很长很复杂,这个时候直接在命令行界面来执行语句并保存到文件就比较难操作,此时提前把SQL语句编辑好放到sql脚本文件中,然后再以执行文件的方式来保存返回结果到文件,这个就比较好实施。具体命令例子如下:
和上面场景1不一样的就是 -f 参数,这个参数是指定走脚本文件的方式,后面的文件为脚本文件路径。

-d 后面的是数据库名称,
-f 参数,这个参数是指定走脚本文件的方式,后面的文件为脚本文件路径,
-A -F 2个参数联合起来使用的,后面的“,"是保存文件的分隔符
-o 后面是保存到的文件路径,特别注意,要估算一下生成文件大概的大小,确保指定的文件保存目录有足够的磁盘空间

postgres@bd127d290e40:~$ psql -d test -f mysql.sql -A -F "," -o my.csv








相关推荐

  1. Spring Boot(六十五):使用 ant.jar 执行 SQL 脚本文件

    2024-07-21 22:02:01       57 阅读
  2. Python对csv格式文件保存与读取

    2024-07-21 22:02:01       37 阅读
  3. SQLSQL语句执行顺序

    2024-07-21 22:02:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 22:02:01       103 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 22:02:01       114 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 22:02:01       93 阅读
  4. Python语言-面向对象

    2024-07-21 22:02:01       99 阅读

热门阅读

  1. easyExcel

    easyExcel

    2024-07-21 22:02:01      25 阅读
  2. 什么是等保测评

    2024-07-21 22:02:01       28 阅读
  3. acml可用订阅到起始位姿

    2024-07-21 22:02:01       27 阅读
  4. Windows 12 网页版

    2024-07-21 22:02:01       22 阅读
  5. 网络融合的艺术:Xcode中应用Web服务集成全指南

    2024-07-21 22:02:01       29 阅读
  6. 提示工程的技术与策略分类

    2024-07-21 22:02:01       29 阅读
  7. css font 优化

    2024-07-21 22:02:01       27 阅读
  8. 基于深度学习的金融交易

    2024-07-21 22:02:01       31 阅读
  9. MATLAB中balance函数用法

    2024-07-21 22:02:01       28 阅读
  10. 栈和队列之间有哪些区别

    2024-07-21 22:02:01       26 阅读
  11. python 爬虫技术 第04节 函数和模块

    2024-07-21 22:02:01       21 阅读
  12. 打造安全堡垒:Xcode应用权限管理全解析

    2024-07-21 22:02:01       24 阅读
  13. MSPM0G3507——K210和M0通信(K210给M0发数据)

    2024-07-21 22:02:01       22 阅读
  14. Vue3替代vue2就好比自动驾驶代替出租网约车

    2024-07-21 22:02:01       29 阅读