タイプ: bool
デフォルト: on
コンテキスト: user
再起動: false

標準SQLで規定されたように、通常の文字列リテラル('...')がバックスラッシュをそのまま取り扱うか否かを制御します。 PostgreSQL 9.1からデフォルトはonになっています(それ以前のリリースではoffがデフォルトでした)。 どのように文字列リテラルが処理されるかを決めるこのパラメータを、アプリケーションで検査することができます。このパラメータの存在は、エスケープ文字列構文(E'...')がサポートされているかどうかを示すものとも考えられます。エスケープ文字列構文 (sql-syntax-strings-escape)は、アプリケーションでバックスラッシュをエスケープ文字として扱いたい場合に使用すべきです。

推奨事項 [EN]

If you can clean up your application code, this disables use of \ as an escape character except in escaped (E' ') strings. This is both safer, and less likely to result in unexpected output for things like Windows filepaths.

件のコメント