2013-07-19 102 views
1

我想將一個文件放到我的Postgresql系統中(具體爲RedShift)。我發現了一個允許導入gzip文件的副本的爭論。但是,我試圖在我的系統中包含的數據提供者僅生成.zip中的數據。任何內置的postgres命令用於打開.zip?如何將ZIpped文件導入Postgres表

回答

1

可你只是像做

unzip -c myfile.zip | gzip myfile.gz

很容易,如果你有足夠的文件實現自動化。

+1

文件不被本地存儲和數據庫是不是本地的。 –

+0

Ug。那麼這讓我很難受,因爲我不認爲amzn有任何選擇。你可以在存儲文件的服務器上訪問exec psql並以這種方式連接嗎?否則,可能需要通過中間人服務器發送文件。 –

0

unzip -c /path/to/.zip | psql -U user

'用戶' 必須擁有超級用戶權限,否則你會得到一個

ERROR: must be superuser to COPY to or from a file 

要了解更多有關這看

https://www.postgresql.org/docs/8.0/static/backup.html

基本上這個命令用於

這是對作品的格式爲:處理大型數據庫

0

這僅會從S3加載紅移時將數據複製到紅移表描述here工作,但實際上你可以只包括一個「壓縮」標誌,我如果我的S3存儲桶包含一個壓縮.csv。

copy <table> from 's3://mybucket/<foldername> '<aws-auth-args>' delimiter ',' gzip; 
0

從內Postgres的:

COPY table_name FROM PROGRAM 'unzip -p input.csv.zip' DELIMITER ','; 

從手冊頁unzip -p

-p  extract files to pipe (stdout). Nothing but the file data is sent to stdout, and the files are always extracted in binary 
     format, just as they are stored (no conversions). 
相關問題