Search code examples
postgresqlzip

How to import Zipped file into Postgres Table


I would like to important a file into my Postgresql system(specificly RedShift). I have found a arguement for copy that allows importing a gzip file. But the provider for the data I am trying to include in my system only produces the data in a .zip. Any built in postgres commands for opening a .zip?


Solution

  • From within Postgres:

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

    From the man page for 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).