如何通过SQL WorkBench上的PSQL将Amazon Redshift输出保存到本地CSV?

Che*_* Wu 8 export-to-csv psql amazon-redshift

我正在通过Amazon Redshift编写psql,现在试图在SQL WorkBench上通过PSQL查询将输出保存为CSV。我计划通过查询而不是使用select子句来执行此操作,然后右键单击以将输出另存为csv,因为存在大量数据,所以我发现如果将输出生成到临时表中,则比使用select显示所有输出要快得多。因此,我在考虑是否也可以更快地保存到本地CSV。

我在这里尝试过最佳解决方案,但是,它在Amazon Redshift上不起作用,当我使用Copy (SELECT col1, col2 FROM my_table) TO '[my local csv path]' WITH CSV DELIMITER ',';或尝试使用时\Copy,它一直向我显示

Amazon无效操作:“(”或附近的语法错误

要么

Amazon无效操作:“ \”或附近的语法错误

然后,我检查了Amazon Redshift查询教程,没有找到任何可以将输出保存到本地CSV的子句。似乎COPY是将数据从Amazon数据源复制到Redshift,UNLOAD是将数据保存到s3,但我只想将数据保存在本地计算机上。

因此,有什么方法可以通过PSQLRedshift输出保存到我的本地CSV上 ,但是可以在SQL WorkBench上

Rav*_*avi 5

是的,请尝试一下。

PGPASSWORD=<password> psql -h <host> -d <db> -U <user> -p 5439-a -c "select * from <table>" -F '<delimiter>' -o temp.csv
Run Code Online (Sandbox Code Playgroud)


Viv*_*vek 5

尝试在WorkBench中运行以下任何一项

WbExport -type=text
         -file='C:\Downloads\myData.txt'
         -delimiter='\t'
         -decimal=','
         -dateFormat='yyyy-MM-dd';
select a, b ,c from myTable;

WbExport -type=text
     -file='C:\Downloads\myQuery.txt'
     -delimiter='\t'
     -header=true
     -tableWhere="WHERE a is not null and date between 11/11/11 and 22/22/22"
     -sourcetable=mytable;
Run Code Online (Sandbox Code Playgroud)