我已经阅读了所有其他解决方案,但没有一个适合我的需要,我不使用 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/