Add mention of performance impact on LIKE of non-C locales.
This commit is contained in:
parent
a2a5526ecb
commit
246be304a5
doc/src/sgml
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/charset.sgml,v 2.47 2004/12/27 22:30:10 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/charset.sgml,v 2.48 2005/01/04 00:05:44 momjian Exp $ -->
|
||||||
|
|
||||||
<chapter id="charset">
|
<chapter id="charset">
|
||||||
<title>Localization</>
|
<title>Localization</>
|
||||||
@ -189,10 +189,10 @@ initdb --locale=sv_SE
|
|||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Benefits</>
|
<title>Behavior</>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Locale support influences in particular the following features:
|
Locale support influences the following features:
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -202,6 +202,13 @@ initdb --locale=sv_SE
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The ability to use indexes with <literal>LIKE</> clauses
|
||||||
|
<indexterm><primary>LIKE</><secondary>and locales</></indexterm>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The <function>to_char</> family of functions
|
The <function>to_char</> family of functions
|
||||||
@ -211,9 +218,11 @@ initdb --locale=sv_SE
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The only severe drawback of using the locale support in
|
The drawback of using locales other than <literal>C</> or
|
||||||
<productname>PostgreSQL</> is its speed. So use locales only if
|
<literal>POSIX</> in <productname>PostgreSQL</> is its performance
|
||||||
you actually need them.
|
impact. It slows character handling and prevents ordinary indexes
|
||||||
|
from being used by <literal>LIKE</>. For this reason use locales
|
||||||
|
only if you actually need them.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/initdb.sgml,v 1.32 2004/08/01 06:19:18 momjian Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/initdb.sgml,v 1.33 2005/01/04 00:05:45 momjian Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -54,21 +54,22 @@ PostgreSQL documentation
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<command>initdb</command> initializes the database cluster's
|
<command>initdb</command> initializes the database cluster's default
|
||||||
default locale and character set encoding. Some locale categories
|
locale and character set encoding. Some locale categories are fixed
|
||||||
are fixed for the lifetime of the cluster, so it is important to
|
for the lifetime of the cluster. There is also a performance impact
|
||||||
make the right choice when running <command>initdb</command>.
|
in using locales other than <literal>C</> or <literal>POSIX</>.
|
||||||
Other locale categories can be changed later when the server is
|
Therefore it is important to make the right choice when running
|
||||||
started. <command>initdb</command> will write those locale
|
<command>initdb</command>. Other locale categories can be changed
|
||||||
settings into the <filename>postgresql.conf</filename>
|
later when the server is started. <command>initdb</command> will
|
||||||
configuration file so they are the default, but they can be changed
|
write those locale settings into the
|
||||||
by editing that file. To set the locale that
|
<filename>postgresql.conf</filename> configuration file so they are
|
||||||
<command>initdb</command> uses, see the description of the
|
the default, but they can be changed by editing that file. To set the
|
||||||
<option>--locale</option> option. The character set encoding can
|
locale that <command>initdb</command> uses, see the description of
|
||||||
|
the <option>--locale</option> option. The character set encoding can
|
||||||
be set separately for each database as it is created.
|
be set separately for each database as it is created.
|
||||||
<command>initdb</command> determines the encoding for the
|
<command>initdb</command> determines the encoding for the
|
||||||
<literal>template1</literal> database, which will serve as the
|
<literal>template1</literal> database, which will serve as the
|
||||||
default for all other databases. To alter the default encoding use
|
default for all other databases. To alter the default encoding use
|
||||||
the <option>--encoding</option> option.
|
the <option>--encoding</option> option.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.299 2004/12/26 23:06:56 tgl Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.300 2005/01/04 00:05:44 momjian Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<Chapter Id="runtime">
|
<Chapter Id="runtime">
|
||||||
@ -144,9 +144,10 @@ postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
|
|||||||
that can be found in <xref linkend="locale">. The sort order used
|
that can be found in <xref linkend="locale">. The sort order used
|
||||||
within a particular database cluster is set by
|
within a particular database cluster is set by
|
||||||
<command>initdb</command> and cannot be changed later, short of
|
<command>initdb</command> and cannot be changed later, short of
|
||||||
dumping all data, rerunning <command>initdb</command>, and
|
dumping all data, rerunning <command>initdb</command>, and reloading
|
||||||
reloading the data. So it's important to make this choice correctly
|
the data. There is also a performance impact for using locales
|
||||||
the first time.
|
other than <literal>C</> or <literal>POSIX</>. Therefore, it is
|
||||||
|
important to make this choice correctly the first time.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user