postgresql - 如何用包含相同选择语句的文件名替换 (select current_timestamp)?
问题描述
我正在使用 PSQL。我的命令行是:
$\copy (select current_timestamp) to '/home/myname/outputfile.txt'
我想知道,如何用包含相同选择语句的文件名替换“(选择 current_Timestamp)”?
前任:
$\copy (My_SQL_FILE.sql) to '/home/myname/outputfile.txt'
我试过谷歌搜索,但似乎找不到答案。
$\copy (my_Sql_file.sql) to '/home/myname/outputfile.txt'
不工作
解决方案
您想在\copy
语句中运行存储在文件中的查询,即执行该查询并将输出存储在文件中?这是可行的。
我自己遇到过这个用例并写了psql2csv
. 它接受与查询相同的参数psql
并另外接受一个查询作为参数(或通过 STDIN)并将输出打印到 STDOUT。
因此,您可以按如下方式使用它:
$ psql2csv [CONNECTION_OPTIONS] < My_SQL_FILE.sql > /home/myname/outputfile.txt
基本上要做psql2csv
的是将您的查询转换为
COPY ($YOUR_QUERY) TO STDOUT WITH (FORMAT csv, ENCODING 'UTF8', HEADER true)
并通过psql
. 请注意,您可以自定义一堆东西,例如标题、分隔符等。
推荐阅读
- python - 在 python 中从数据框(或电子表格)分配变量
- laravel - Laravel with() 一起使用表或变量名
- python - Python Selenium - 从动态页面中抓取表格
- python - 如何更改矩阵行中的最大和最小元素?
- mysql - 如何连接两个表,然后使用新的主键插入第三个表?
- javascript - 调用 await browser.close() 时出错:(节点:4960)UnhandledPromiseRejectionWarning:page.goto:导航失败,因为页面已关闭
- oracle - 日期/时间功能
- javascript - .wav 文件的异步获取和解码适用于桌面,但不适用于移动设备(WebAudioAPI)
- node.js - 如何使用 Youtube API v3 运行搜索列表?
- angular - Angular 材料表列的虚拟滚动