
Postgres Escape Strings
Reported by Ana Nelson | June 23rd, 2008 @ 04:31 PM
When I try to run the attached script, I get:
WARNING: nonstandard use of \\ in a string literal
LINE 1: INSERT INTO "examples" ("example") VALUES ('xx\\xx') RETURNI...
^
HINT: Use the escape string syntax for backslashes, e.g., E'\\'.
This is just a warning, not an error. The code does run properly and the record is added to the database
Postgres seems to have its own escape-string notation.
Comments and changes to this ticket
-
Sam Smoot June 23rd, 2008 @ 04:49 PM
- Assigned user changed from Sam Smoot to Bernerd Schaefer
That's odd. I swear we're using the Postgres C-API string escaping to avoid these exact issues. :-/
Maybe it's just that the C-API wasn't updated to match the new E'\\' syntax? (It's new in 8.3 right?)
Bernerd? Can you confirm? If we are, then I'd say probably just ignore the warning and as the Postgres team updates the client libs, it'll go away. If we aren't using the C-API for escaping, we should be, but let me know first because it's going to be a busy week so we'll need to schedule the fix.
-
Jonathan Stott (namelessjon) November 30th, 2008 @ 08:07 AM
- Assigned user cleared.
- Tag set to bug, do_postgres
- State changed from new to open
Confirmed as of do_postgres 0.9.9
-
Dirkjan Bussink December 7th, 2008 @ 08:56 AM
- State changed from open to resolved
We do escape properly with Postgres methods. You get these warnings because some backwards compatibility options are enabled. For my Postgres installs I usually specify the following:
backslash_quote = off standard_conforming_strings = on
For what these options mean, please see http://www.postgresql.org/docs/8...
I'm closing this for now.
-
Dan Kubb (dkubb) December 7th, 2008 @ 09:34 AM
Dirkjan, is there a way to specify the backwards compatibility option should be off when connecting to the DB, or is it something that has to be set in the global config?
-
Dirkjan Bussink December 7th, 2008 @ 11:38 AM
I've just tested this, and it's possible to run queries that change these options run time. Should we include these by default?
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »