# Escaping strings in PostgreSQL 9.1

DevFeed: [Escaping strings in PostgreSQL 9.1](<https://devfeed.tech/articles/echappement-de-chaines-34435.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2011/08/%C3%A9chappement-de-cha%C3%AEnes/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2011-08-18T17:01:00Z

Content type: tutorial

Language: fr

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [version](<https://devfeed.tech/topics/version.md>)

Tags: [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sql](<https://devfeed.tech/tags/sql.md>), [standard](<https://devfeed.tech/tags/standard.md>), [version](<https://devfeed.tech/tags/version.md>)

## AI overview

This tutorial explains PostgreSQL 9.1's change to the default value of standard_conforming_strings and how it affects backslash escapes in SQL string literals. It demonstrates the E'...' escape-string syntax and recommends parameterized queries for security.

## Source excerpt

Parmis les nouveautés de la prochaine version de PostgreSQL, la fameuse 9.1, il faut signaler le changement de valeur par défaut de la variable standard_conforming_strings, qui passe à vraie. En effet, l'utilisation d'échappements avec le caractère " anti-slash " n'est pas conforme au standard SQL. Le paramètre standard_conforming_strings permet de contrôler le comportement de PostgreSQL lorsqu'il lit une chaîne de caractère dans une requête SQL. Voyons quelques exemples : dimitri=# set standard_conforming_strings to true; SET dimitri=# select 'hop'''; ?column? ---------- hop' (1 ligne) dimitri=# select 'hop\''; dimitri'# '; ?column? ---------- hop\'; (1 ligne) dimitri=# select E'hop\''; ?column? ---------- hop' (1 ligne) dimitri=# set standard_conforming_strings to false; SET dimitri=# select E'hop\''; ?column? ---------- hop' (1 ligne) dimitri=# select 'hop\''; ATTENTION: utilisation non standard de \' dans une cha&#xEE;ne litt&#xE9;rale LIGNE 1 : select 'hop\''; ^ ASTUCE : Utilisez '' pour &#xE9;crire des guillemets dans une cha&#xEE;ne ou utilisez la syntaxe de cha&#xEE;ne d'&#xE9;chappement (E'...'). ?column? ---------- hop' (1 ligne) Il existe un moyen de forcer PostgreSQL à accepter l'utilisation d'échappements avec " anti-slash " indépendamment de la valeur de standard_conforming_strings, c'est la notation préfixée avec E. Il est recommandé de toujours l'utiliser dès lors que la chaîne de caractère contient des " anti-slash " utilisés comme échappement (du caractère simple guillemet en général).