From: Tom Lane <tgl@sss.pgh.pa.us>
To: The Hermit Hacker <scrappy@hub.org>
Cc: pgsql-interfaces@postgreSQL.org
Subject: Re: [INTERFACES] escaping characters ...
Date: Tue, 04 Jan 2000 13:12:58 -0500
Message-ID: <13967.947009578@sss.pgh.pa.us> (raw)
In-Reply-To: <Pine.BSF.4.21.0001041343360.18498-100000@thelab.hub.org>
References: <Pine.BSF.4.21.0001041343360.18498-100000@thelab.hub.org>
The Hermit Hacker <scrappy@hub.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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: tgl@sss.pgh.pa.us, scrappy@hub.org
Subject: Re: [INTERFACES] escaping characters ...
In-Reply-To: <13967.947009578@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox