【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








  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值