从远程服务器导出PostgreSQL的结果为CSV[英] PostgreSQL export result as CSV from remote server

本文是小编为大家收集整理的关于从远程服务器导出PostgreSQL的结果为CSV的处理方法,想解了从远程服务器导出PostgreSQL的结果为CSV的问题怎么解决?从远程服务器导出PostgreSQL的结果为CSV问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我已阅读所有其他解决方案,但没有一个适合我的需要,我不使用 Java,我没有超级用户权限,我的服务器中没有安装 API.

我在远程 PostgreSQL 服务器上拥有选择权限,我想在其中远程运行查询并将其结果导出到本地服务器中的 .csv 文件中.

一旦我设法建立到服务器的连接,我首先必须定义数据库,然后是模式,然后是表,这使得以下代码行不起作用:

\copy schema.products TO '/home/localfolder/products.csv' CSV DELIMITER ','

copy (Select * From schema.products) To '/home/localfolder/products.csv' With CSV;

我也尝试过以下 bash 命令:

 psql -d DB -c "select * from schema.products;" > /home/localfolder/products.csv

并使用以下结果记录它:

<块引用>

-bash: home/localfolder/products.csv: 没有这样的文件或目录

如果有人能对此有所了解,我将不胜感激.

推荐答案

你试过了吗?我现在没有 psql 来测试它.

echo "COPY (SELECT * from schema.products) TO STDOUT with CSV HEADER" | psql -o '/home/localfolder/products.csv'

详情:

-o filename   Put  all  output into file filename.  The path must be writable by the client.
echo builtin + piping (|) pass command to psql

本文地址:https://www.itbaoku.cn/post/1764119.html