Re: how to pass in bind variables with cursor.copy_expert? - Mailing list psycopg

From Adrian Klaver
Subject Re: how to pass in bind variables with cursor.copy_expert?
Date
Msg-id 5307A0CD.30501@aklaver.com
Whole thread Raw
In response to Re: how to pass in bind variables with cursor.copy_expert?  (Federico Di Gregorio <fog@dndg.it>)
List psycopg
On 02/21/2014 08:47 AM, Federico Di Gregorio wrote:
> On 21/02/2014 17:27, W. Matthew Wilson wrote:
>> I need to extract some rows from a table as a CSV file, based on a
>> query sort of like:
>>
>>      copy (
>>          select *
>>          from blah
>>          where x = %(x)s
>>      )
>>
>> but I don't see how to pass in a dictionary with values for the query!

Would something like this work, or am I missing something?:

sql = """COPY (SELECT * FROM cell_per WHERE cell_per = %(cp)s) TO
'/home/postgres/cp.csv'"""

cur.execute(sql,{"cp": 18})

>
> You can use cursor.mogrify() to build the query and then pass it to
> cursor.copy_export(). See the documentation for the details.
>
> federico
>



psycopg by date:

Previous
From: Federico Di Gregorio
Date:
Subject: Re: how to pass in bind variables with cursor.copy_expert?
Next
From: Adrian Klaver
Date:
Subject: Re: how to pass in bind variables with cursor.copy_expert?