Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何用包含相同select语句的文件名替换(select current_timestamp)?_Postgresql_Unix_Psql_Postgresql Copy - Fatal编程技术网

Postgresql 如何用包含相同select语句的文件名替换(select current_timestamp)?

Postgresql 如何用包含相同select语句的文件名替换(select current_timestamp)?,postgresql,unix,psql,postgresql-copy,Postgresql,Unix,Psql,Postgresql Copy,我正在使用PSQL。我的命令行是: $\copy (select current_timestamp) to '/home/myname/outputfile.txt' 我想知道,如何将“(select current_Timestamp)”替换为包含相同select语句的文件名 例: 我试过谷歌搜索,但似乎找不到答案 $\copy (my_Sql_file.sql) to '/home/myname/outputfile.txt' 不工作是否要运行存储在\copy语句中的文件中的查询,即执

我正在使用PSQL。我的命令行是:

$\copy (select current_timestamp) to '/home/myname/outputfile.txt'
我想知道,如何将“(select current_Timestamp)”替换为包含相同select语句的文件名

例:

我试过谷歌搜索,但似乎找不到答案

$\copy (my_Sql_file.sql) to '/home/myname/outputfile.txt'

不工作

是否要运行存储在
\copy
语句中的文件中的查询,即执行该查询并将输出存储在文件中?这是可行的

我自己也遇到过这个用例并编写了它。它采用与psql相同的参数,另外还采用一个查询作为参数(或通过STDIN),并将输出打印到STDOUT

因此,您可以按如下方式使用它:

$ psql2csv [CONNECTION_OPTIONS] < My_SQL_FILE.sql > /home/myname/outputfile.txt
并通过
psql
执行。请注意,您可以自定义一系列内容,例如标题、分隔符等

$ psql2csv [CONNECTION_OPTIONS] < My_SQL_FILE.sql > /home/myname/outputfile.txt
COPY ($YOUR_QUERY) TO STDOUT WITH (FORMAT csv, ENCODING 'UTF8', HEADER true)