summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/runtime.sgml89
1 files changed, 59 insertions, 30 deletions
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index 9b728ae7f44..cbebe6e17a0 100644
--- a/doc/src/sgml/runtime.sgml
+++ b/doc/src/sgml/runtime.sgml
@@ -1,5 +1,5 @@
<!--
-$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.301.4.7 2005/06/17 16:46:45 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.301.4.8 2006/05/21 20:11:25 tgl Exp $
-->
<chapter id="runtime">
@@ -3490,39 +3490,31 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
</listitem>
</varlistentry>
- <varlistentry id="guc-regex-flavor" xreflabel="regex_flavor">
- <term><varname>regex_flavor</varname> (<type>string</type>)</term>
- <indexterm><primary>regular expressions</></>
+ <varlistentry id="guc-backslash-quote" xreflabel="backslash_quote">
+ <term><varname>backslash_quote</varname> (<type>string</type>)</term>
+ <indexterm><primary>strings</><secondary>backslash quotes</></>
<indexterm>
- <primary><varname>regex_flavor</> configuration parameter</primary>
+ <primary><varname>backslash_quote</> configuration parameter</primary>
</indexterm>
<listitem>
<para>
- The regular expression <quote>flavor</> can be set to
- <literal>advanced</>, <literal>extended</>, or <literal>basic</>.
- The default is <literal>advanced</>. The <literal>extended</>
- setting may be useful for exact backwards compatibility with
- pre-7.4 releases of <productname>PostgreSQL</>. See
- <xref linkend="posix-syntax-details"> for details.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry id="guc-sql-inheritance" xreflabel="sql_inheritance">
- <term><varname>sql_inheritance</varname> (<type>boolean</type>)</term>
- <indexterm>
- <primary><varname>sql_inheritance</> configuration parameter</primary>
- </indexterm>
- <indexterm><primary>inheritance</></>
- <listitem>
- <para>
- This controls the inheritance semantics, in particular whether
- subtables are included by various commands by default. They were
- not included in versions prior to 7.1. If you need the old
- behavior you can set this variable to off, but in the long run
- you are encouraged to change your applications to use the
- <literal>ONLY</literal> key word to exclude subtables. See
- <xref linkend="ddl-inherit"> for more information about inheritance.
+ This controls whether a quote mark can be represented by
+ <literal>\'</> in a string literal. The preferred, SQL-standard way
+ to represent a quote mark is by doubling it (<literal>''</>) but
+ <productname>PostgreSQL</> has historically also accepted
+ <literal>\'</>. However, use of <literal>\'</> creates security risks
+ because in some client character set encodings, there are multibyte
+ characters in which the last byte is numerically equivalent to ASCII
+ <literal>\</>. If client-side code does escaping incorrectly then a
+ SQL-injection attack is possible. This risk can be prevented by
+ making the server reject queries in which a quote mark appears to be
+ escaped by a backslash.
+ The allowed values of <varname>backslash_quote</> are
+ <literal>on</> (allow <literal>\'</> always),
+ <literal>off</> (reject always), and
+ <literal>safe_encoding</> (allow only if client encoding does not
+ allow ASCII <literal>\</> within a multibyte character).
+ <literal>safe_encoding</> is the default setting.
</para>
</listitem>
</varlistentry>
@@ -3560,6 +3552,43 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
</listitem>
</varlistentry>
+ <varlistentry id="guc-regex-flavor" xreflabel="regex_flavor">
+ <term><varname>regex_flavor</varname> (<type>string</type>)</term>
+ <indexterm><primary>regular expressions</></>
+ <indexterm>
+ <primary><varname>regex_flavor</> configuration parameter</primary>
+ </indexterm>
+ <listitem>
+ <para>
+ The regular expression <quote>flavor</> can be set to
+ <literal>advanced</>, <literal>extended</>, or <literal>basic</>.
+ The default is <literal>advanced</>. The <literal>extended</>
+ setting may be useful for exact backwards compatibility with
+ pre-7.4 releases of <productname>PostgreSQL</>. See
+ <xref linkend="posix-syntax-details"> for details.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="guc-sql-inheritance" xreflabel="sql_inheritance">
+ <term><varname>sql_inheritance</varname> (<type>boolean</type>)</term>
+ <indexterm>
+ <primary><varname>sql_inheritance</> configuration parameter</primary>
+ </indexterm>
+ <indexterm><primary>inheritance</></>
+ <listitem>
+ <para>
+ This controls the inheritance semantics, in particular whether
+ subtables are included by various commands by default. They were
+ not included in versions prior to 7.1. If you need the old
+ behavior you can set this variable to off, but in the long run
+ you are encouraged to change your applications to use the
+ <literal>ONLY</literal> key word to exclude subtables. See
+ <xref linkend="ddl-inherit"> for more information about inheritance.
+ </para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</sect3>
<sect3 id="runtime-config-compatible-clients">