Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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 我们可以使用假脱机命令在postgres中导出查询结果吗?_Postgresql - Fatal编程技术网

Postgresql 我们可以使用假脱机命令在postgres中导出查询结果吗?

Postgresql 我们可以使用假脱机命令在postgres中导出查询结果吗?,postgresql,Postgresql,我想将查询结果导出到csv文件中。我使用了查询从实体中选择* 将select*从实体复制到“D:/text.csv”,分隔符为“|”csv标题; 而且很有效。。但是我想知道我是否可以像在oracle中那样使用spool命令来完成它。PostgreSQL没有spool命令。您可以使用发现的复制或使用psql将输出定向到文件。这不是Oracle SPOOL的重新实现 从操作系统提示符 psql -o filename -c 'select * from your_table_name;' 您可能必

我想将查询结果导出到csv文件中。我使用了查询从实体中选择* 将select*从实体复制到“D:/text.csv”,分隔符为“|”csv标题;
而且很有效。。但是我想知道我是否可以像在oracle中那样使用spool命令来完成它。

PostgreSQL没有spool命令。您可以使用发现的复制或使用psql将输出定向到文件。这不是Oracle SPOOL的重新实现

从操作系统提示符

psql -o filename -c 'select * from your_table_name;'
您可能必须指定用户名和数据库名称,具体取决于登录的设置方式

从psql提示符

\o filename
select * from your_table_name; 

有控制输出的选项。请特别查看-F和-R选项。

我尝试了第二个选项。。但是它不起作用。。无论如何,你能告诉我postgresql中是否没有任何spool命令吗?这是我告诉你的第一件事:postgresql没有spool命令。您可以使用COPY或psql将输出发送到文件。请阅读上面链接的PostgreSQL文档,然后重试。与大多数命令行工具一样,它有点挑剔。您可以在Postgres脚本中使用\o命令,以便将单个命令的输出重定向到不同的日志文件。注意,对于大型查询,它可能会说超出RAM,除非您先设置获取计数例如:\set fetch\u count 10000