Re: [INTERFACES] escaping characters ...

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: The Hermit Hacker <scrappy(at)hub(dot)org>
Cc: pgsql-interfaces(at)postgreSQL(dot)org
Subject: Re: [INTERFACES] escaping characters ...
Date: 2000-01-04 18:12:58
Message-ID: 13967.947009578@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

The Hermit Hacker <scrappy(at)hub(dot)org> writes:
> MySQl has 'mysql_escape_string' in it's client library. Does Pg have
> something like that?

libpq doesn't provide any such function --- perhaps it should, but
on the other hand the amount of code involved is pretty tiny, and
issues like memory allocation/freeing would complicate the definition
of the function.

> if not, what should be escaped?

When generating quoted strings for use in SQL commands, you should
prefix single-quote (') and backslash (\) characters with a backslash.
I think that's all.

COPY IN/OUT data has a different set of rules. There, you can but
don't have to backslash single quotes. You do need to convert returns
and tabs into \n and \t, and of course backslash itself must be doubled.
(If you are using some other character than tab as the field delimiter,
then it'd need backslashing instead.)

Data returned by libpq after a SELECT is not quoted at all.

regards, tom lane

In response to

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Bruce Momjian 2000-01-04 19:37:30 Re: [GENERAL] Announce: PostgreSQL-6.5.3 binaries available forWindows NT
Previous Message The Hermit Hacker 2000-01-04 17:45:59 escaping characters ...