1

I'm trying to export a postgres database table as a csv file in my filesystem in Python, but I'm having trouble running the copy query.

import psycopg2
import Config

class postgres_to_s3():
    def __init__(self):
        app_config = Config.Config
        self.pg_conn = app_config.pg_conn
        self.pg_cur = app_config.pg_cur

    def unload_database_to_CSV(self):
        query1 = '\COPY source_checksum TO /Users/Will/Downloads/output.csv WITH (FORMAT CSV, HEADER);'

        with open ('/Users/Will/Downloads/output.csv', 'w') as f:
            self.pg_cur.copy_expert(query1, f)

s1 = postgres_to_s3()
s1.unload_database_to_CSV()

I get the error:

psycopg2.ProgrammingError: syntax error at or near "\"
LINE 1: \COPY source_checksum TO /Users/Will/Downloads/output.csv
        ^

I was able to execute the query fine on the psql console. I tried using double backslash but I still get the same error.

EDIT: following this thread I removed the backslash, but now I get the error:

psycopg2.ProgrammingError: syntax error at or near "/"
LINE 1: COPY source_checksum TO /Users/Will/Downloads/output.csv
                                ^

Guille
  • 31
  • 1
  • 3

0 Answers0