bash - PostgreSQL 从远程服务器将结果导出为 CSV

标签 bash postgresql csv remote-server

我已经阅读了所有其他解决方案,但没有一个适合我的需要,我不使用 Java,我没有 super 用户权限,我的服务器上也没有安装 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: No such file or directory

如果有人能阐明这一点,我将不胜感激。

最佳答案

你试过吗?我现在没有 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

关于bash - PostgreSQL 从远程服务器将结果导出为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28840918/

相关文章:

bash - 汇总特定用户所有权下的文件总大小

bash - passwd:当我运行我创建的 Bash 脚本时,Debian 上出现无法识别的选项 '--stdin' 错误

java - 将 PEM 证书解析为 JSON

postgresql - 将 Shapefile 导入 Postgres

csv - 以分布式方式读取Spark中的CSV文件

windows - Git Hook 未在 Windows 上运行

sql - Postgres 触发器干扰 'on conflict do update set'

postgresql - 如何防止用户两次提款?

java - 如何将csv文件映射到java中的pojo类

c# - 我需要帮助使用 C# 拆分命令拆分 .csv 文件中的记录