Re: copymanager question

From: Craig Ringer <craig(at)2ndquadrant(dot)com>
To: swaroop <swaroop(dot)belur(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: copymanager question
Date: 2014-09-02 04:40:59
Message-ID: 54054A5B.90905@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 09/01/2014 11:24 PM, swaroop wrote:
> Basically i am looking for the same robustness of preparedstmt(at)setString
>
> Can i use functions like quote_literal ? Any help is very much appreciated.

You don't need to. Feed the data in as-is. So long as it's valid CSV
(for CSV-format COPY) or meets the PostgreSQL spec for the input format
(for non-CSV) it's fine.

So for CSV format you must escape embedded quotes, otherwise you'll
produce invalid CSV and get an error on input. That's the worst that'll
happen though.

SQL injection is not possible in the data consumed by COPY.

(A truly tricky user could sneak malicious code into a table then trick
you into running a vulnerable PL/PgSQL procedure that used unsafe
dynamic SQL later, but that's also true with calling the function using
prepared statements.)

--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Arnaud Lesauvage 2014-09-02 08:01:21 Re: Expected behaviour of \d in regexp with exponent numbers ?
Previous Message Tom Lane 2014-09-02 04:11:19 Re: Displaying a wide column with psql