Robert Haas píše v st 09. 12. 2009 v 08:56 -0500:
> On Dec 9, 2009, at 8:32 AM, Zdenek Kotala <[email protected]> wrote:
<snip>
> >
> > Ahh, It is somethink what I want to do, but it is not ready yet in
> > this
> > patch, but I already documented it. Idea is to install initdb and
> > postgres into libexecdir and packager can select if libexecdir will be
> > equal bindir or not.
> >
> > The paragraph should be removed at this moment. Shell I send modified
> > patch or does committer remove it before commit?
>
> I think Peter claimed this one but as far as I am concerned, I would
> always rather have an updated patch.
OK, here it is.
Thanks Zdenek
diff -r ab32ed8164e7 doc/src/sgml/config.sgml
--- a/doc/src/sgml/config.sgml Mon Dec 07 15:10:09 2009 +0100
+++ b/doc/src/sgml/config.sgml Wed Dec 09 15:17:54 2009 +0100
@@ -54,9 +54,10 @@
<para>
One way to set these parameters is to edit the file
<filename>postgresql.conf</><indexterm><primary>postgresql.conf</></>,
- which is normally kept in the data directory. (<application>initdb</>
- installs a default copy there.) An example of what this file might look
- like is:
+ which is normally kept in the data directory.
+ (<link linkend="creating-cluster">database cluster initialization</link>
+ process installs a default copy there.)
+ An example of what this file might look like is:
<programlisting>
# This is a comment
log_connections = yes
@@ -365,8 +366,8 @@
Determines the maximum number of concurrent connections to the
database server. The default is typically 100 connections, but
might be less if your kernel settings will not support it (as
- determined during <application>initdb</>). This parameter can
- only be set at server start.
+ determined during <link linkend="creating-cluster">database cluster
+ initialization</link>). This parameter can only be set at server start.
</para>
<para>
@@ -747,7 +748,8 @@
Sets the amount of memory the database server uses for shared
memory buffers. The default is typically 32 megabytes
(<literal>32MB</>), but might be less if your kernel settings will
- not support it (as determined during <application>initdb</>).
+ not support it (as determined during <link linkend="creating-cluster">database
+ cluster initialization)</link>.
This setting must be at least 128 kilobytes. (Non-default
values of <symbol>BLCKSZ</symbol> change the minimum.) However,
settings significantly higher than the minimum are usually needed
@@ -4267,10 +4269,10 @@
keywords <literal>US</>, <literal>NonEuro</>, and
<literal>NonEuropean</> are synonyms for <literal>MDY</>. See
<xref linkend="datatype-datetime"> for more information. The
- built-in default is <literal>ISO, MDY</>, but
- <application>initdb</application> will initialize the
- configuration file with a setting that corresponds to the
- behavior of the chosen <varname>lc_time</varname> locale.
+ built-in default is <literal>ISO, MDY</>, but
+ <link linkend="creating-cluster">database cluster initialization</link>
+ will initialize the configuration file with a setting that corresponds
+ to the behavior of the chosen <varname>lc_time</varname> locale.
</para>
</listitem>
</varlistentry>
@@ -4476,9 +4478,9 @@
specifying the configuration.
See <xref linkend="textsearch"> for further information.
The built-in default is <literal>pg_catalog.simple</>, but
- <application>initdb</application> will initialize the
- configuration file with a setting that corresponds to the
- chosen <varname>lc_ctype</varname> locale, if a configuration
+ <link linkend="creating-cluster">database cluster initialization</link>
+ will initialize the configuration file with a setting that corresponds
+ to the chosen <varname>lc_ctype</varname> locale, if a configuration
matching that locale can be identified.
</para>
</listitem>
@@ -5240,8 +5242,9 @@
<listitem>
<para>
Allows modification of the structure of system tables.
- This is used by <command>initdb</command>.
- This parameter can only be set at server start.
+ This is used by <link linkend="creating-cluster">database cluster
+ initialization</link> process. This parameter can only be set at server
+ start.
</para>
</listitem>
</varlistentry>
diff -r ab32ed8164e7 doc/src/sgml/manage-ag.sgml
--- a/doc/src/sgml/manage-ag.sgml Mon Dec 07 15:10:09 2009 +0100
+++ b/doc/src/sgml/manage-ag.sgml Wed Dec 09 15:17:54 2009 +0100
@@ -107,10 +107,9 @@
Since you need to be connected to the database server in order to
execute the <command>CREATE DATABASE</command> command, the
question remains how the <emphasis>first</> database at any given
- site can be created. The first database is always created by the
- <command>initdb</> command when the data storage area is
- initialized. (See <xref linkend="creating-cluster">.) This
- database is called
+ site can be created. The first database is always created when
+ the data storage area is initialized. (See <xref linkend="creating-cluster">.)
+ This database is called
<literal>postgres</>.<indexterm><primary>postgres</></> So to
create the first <quote>ordinary</> database you can connect to
<literal>postgres</>.
@@ -119,8 +118,8 @@
<para>
A second database,
<literal>template1</literal>,<indexterm><primary>template1</></>
- is also created by
- <command>initdb</>. Whenever a new database is created within the
+ is also created during <link linkend="creating-cluster">database cluster
+ initialization</link>. Whenever a new database is created within the
cluster, <literal>template1</literal> is essentially cloned.
This means that any changes you make in <literal>template1</> are
propagated to all subsequently created databases. Therefore it is
@@ -196,11 +195,11 @@
<literal>template1</>, that is, only the standard objects
predefined by your version of
<productname>PostgreSQL</productname>. <literal>template0</>
- should never be changed after <command>initdb</>. By instructing
- <command>CREATE DATABASE</> to copy <literal>template0</> instead
- of <literal>template1</>, you can create a <quote>virgin</> user
- database that contains none of the site-local additions in
- <literal>template1</>. This is particularly handy when restoring a
+ should never be changed after <link linkend="creating-cluster">database cluster
+ initialization</link>. By instructing <command>CREATE DATABASE</> to copy
+ <literal>template0</> instead of <literal>template1</>, you can create a
+ <quote>virgin</> user database that contains none of the site-local additions
+ in <literal>template1</>. This is particularly handy when restoring a
<literal>pg_dump</> dump: the dump script should be restored in a
virgin database to ensure that one recreates the correct contents
of the dumped database, without any conflicts with objects that
@@ -453,8 +452,9 @@
</para>
<para>
- Two tablespaces are automatically created by <literal>initdb</>. The
- <literal>pg_global</> tablespace is used for shared system catalogs. The
+ Two tablespaces are automatically created during
+ <link linkend="creating-cluster">database cluster initialization</link>.
+ The <literal>pg_global</> tablespace is used for shared system catalogs. The
<literal>pg_default</> tablespace is the default tablespace of the
<literal>template1</> and <literal>template0</> databases (and, therefore,
will be the default tablespace for other databases as well, unless
diff -r ab32ed8164e7 doc/src/sgml/ref/initdb.sgml
--- a/doc/src/sgml/ref/initdb.sgml Mon Dec 07 15:10:09 2009 +0100
+++ b/doc/src/sgml/ref/initdb.sgml Wed Dec 09 15:17:54 2009 +0100
@@ -106,6 +106,11 @@
More details can be found in <xref linkend="multibyte">.
</para>
+ <para>
+ Note: The <command>initdb</command> might be also invoked by
+ <command>pg_ctl initdb</command>.
+ </para>
+
</refsect1>
<refsect1>
@@ -314,6 +319,7 @@
<simplelist type="inline">
<member><xref linkend="app-postgres"></member>
+ <member><xref linkend="app-pg-ctl"></member>
</simplelist>
</refsect1>
diff -r ab32ed8164e7 doc/src/sgml/ref/pg_ctl-ref.sgml
--- a/doc/src/sgml/ref/pg_ctl-ref.sgml Mon Dec 07 15:10:09 2009 +0100
+++ b/doc/src/sgml/ref/pg_ctl-ref.sgml Wed Dec 09 15:17:54 2009 +0100
@@ -12,7 +12,7 @@
<refnamediv>
<refname>pg_ctl</refname>
- <refpurpose>start, stop, or restart a <productname>PostgreSQL</productname> server</refpurpose>
+ <refpurpose>init, start, stop, or restart a <productname>PostgreSQL</productname> server</refpurpose>
</refnamediv>
<indexterm zone="app-pg-ctl">
@@ -23,6 +23,13 @@
<cmdsynopsis>
<command>pg_ctl</command>
+ <arg choice="plain">init[db]</arg>
+ <arg>-D <replaceable>datadir</replaceable></arg>
+ <arg>-s</arg>
+ <arg>-o <replaceable>options</replaceable></arg>
+ <sbr>
+
+ <command>pg_ctl</command>
<arg choice="plain">start</arg>
<arg>-w</arg>
<arg>-t <replaceable>seconds</replaceable></arg>
@@ -105,7 +112,8 @@
<refsect1 id="app-pg-ctl-description">
<title>Description</title>
<para>
- <application>pg_ctl</application> is a utility for starting,
+ <application>pg_ctl</application> is a utility for initialiazing
+ <productname>PostgreSQL</productname> database cluster, starting,
stopping, or restarting the <productname>PostgreSQL</productname>
backend server (<xref linkend="app-postgres">), or displaying the
status of a running server. Although the server can be started
@@ -116,6 +124,14 @@
</para>
<para>
+ <option>init</option> or <option>initdb</option> creates a new
+ <productname>PostgreSQL</productname> database cluster. A database
+ cluster is a collection of databases that are managed by a single
+ server instance. This options invokes <application><xref linkend="app-initdb">
+ </application> command. See <xref linkend="app-initdb"> for more details.
+ </para>
+
+ <para>
In <option>start</option> mode, a new server is launched. The
server is started in the background, and standard input is attached to
<filename>/dev/null</filename>. The standard output and standard
diff -r ab32ed8164e7 doc/src/sgml/runtime.sgml
--- a/doc/src/sgml/runtime.sgml Mon Dec 07 15:10:09 2009 +0100
+++ b/doc/src/sgml/runtime.sgml Wed Dec 09 15:17:54 2009 +0100
@@ -72,13 +72,16 @@
default, although locations such as
<filename>/usr/local/pgsql/data</filename> or
<filename>/var/lib/pgsql/data</filename> are popular. To initialize a
- database cluster, use the command <xref
- linkend="app-initdb">,<indexterm><primary>initdb</></> which is
+ database cluster, use the command <xref linkend="app-pg-ctl"> or <xref
+ linkend="app-initdb">,<indexterm><primary>initdb</></>
+ <indexterm><primary>pg_ctl</></> which is
installed with <productname>PostgreSQL</productname>. The desired
file system location of your database cluster is indicated by the
<option>-D</option> option, for example:
<screen>
<prompt>$</> <userinput>initdb -D /usr/local/pgsql/data</userinput>
+or
+<prompt>$</> <userinput>pg_ctl -D /usr/local/pgsql/data initdb</userinput>
</screen>
Note that you must execute this command while logged into the
<productname>PostgreSQL</productname> user account, which is
diff -r ab32ed8164e7 doc/src/sgml/xfunc.sgml
--- a/doc/src/sgml/xfunc.sgml Mon Dec 07 15:10:09 2009 +0100
+++ b/doc/src/sgml/xfunc.sgml Wed Dec 09 15:17:54 2009 +0100
@@ -1353,8 +1353,8 @@
<para>
Normally, all internal functions present in the
- server are declared during the initialization of the database cluster (<command>initdb</command>),
- but a user could use <command>CREATE FUNCTION</command>
+ server are declared during the <link linkend="creating-cluster">initialization
+ of the database cluster</link>, but a user could use <command>CREATE FUNCTION</command>
to create additional alias names for an internal function.
Internal functions are declared in <command>CREATE FUNCTION</command>
with language name <literal>internal</literal>. For instance, to
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers