mirror of https://github.com/postgres/postgres
parent
fe2bcf854c
commit
ff8bf5a0ef
@ -0,0 +1,220 @@ |
||||
.\" This is -*-nroff-*- |
||||
.\" XXX standard disclaimer belongs here.... |
||||
.\" $Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.1 1999/05/26 17:25:38 thomas Exp $ |
||||
.TH POSTGRESQL UNIX 05/19/99 PostgreSQL PostgreSQL |
||||
.SH NAME |
||||
postgres - the Postgres backend server |
||||
.SH SYNOPSIS |
||||
.BR "postgres" |
||||
[\c |
||||
.BR "-B" |
||||
n_buffers] |
||||
[\c |
||||
.BR "-C" |
||||
] |
||||
[\c |
||||
.BR "-D" |
||||
data_directory] |
||||
[\c |
||||
.BR "-E" |
||||
] |
||||
[\c |
||||
.BR "-F" |
||||
] |
||||
[\c |
||||
.BR "-O" |
||||
] |
||||
[\c |
||||
.BR "-Q" |
||||
] |
||||
[\c |
||||
.BR "-S kbytes" |
||||
] |
||||
[\c |
||||
.BR "-d" |
||||
debug_level] |
||||
[\c |
||||
.BR "-e" |
||||
] |
||||
[\c |
||||
.BR "-o" |
||||
output_file] |
||||
[\c |
||||
.BR "-s" |
||||
] |
||||
[\c |
||||
.BR "-v protocol" |
||||
] |
||||
[dbname] |
||||
.in -5n |
||||
.SH DESCRIPTION |
||||
The Postgres backend server can be executed directly from the user shell. |
||||
This should be done only while debugging by the DBA, and should not be |
||||
done while other Postgres backends are being managed by a |
||||
.IR postmaster |
||||
on this set of databases. |
||||
.PP |
||||
Some of the switches explained in this man page can be passed to the backend |
||||
through the "database options" field of a connection request, and thus can be |
||||
set for a particular backend without going to the trouble of restarting the |
||||
postmaster. This is particularly handy for debugging-related switches. |
||||
.PP |
||||
The optional argument |
||||
.IR dbname |
||||
specifies the name of the database to be accessed. |
||||
.IR Dbname |
||||
defaults to the value of the |
||||
.SM USER |
||||
environment variable. |
||||
.PP |
||||
The |
||||
.IR postgres |
||||
server understands the following command-line options: |
||||
.TP |
||||
.BR "-B" " n_buffers" |
||||
If the backend is running under the |
||||
.IR postmaster , |
||||
.IR "n_buffers" |
||||
is the number of shared-memory buffers that the |
||||
.IR "postmaster" |
||||
has allocated for the backend server processes that it starts. If the |
||||
backend is running standalone, this specifies the number of buffers to |
||||
allocate. This value defaults to 64 buffers, where each buffer is 8k bytes |
||||
(or whatever BLCKSZ is set to in config.h). |
||||
.TP |
||||
.BR "-C" |
||||
Do not show server version number. |
||||
.TP |
||||
.BR "-D" " data_directory" |
||||
This option specifies the pathname of the directory that contains the |
||||
database system data (the tables, the catalogs, etc.). If you don't |
||||
specify this option, Postgres uses the value of the PGDATA environment |
||||
variable. You must either specify a -D option or set PGDATA. |
||||
|
||||
The data directory pathname for a database system is normally determined when |
||||
the database system is created with |
||||
.IR initdb , |
||||
with a --pgdata option to |
||||
.IR initdb . |
||||
.TP |
||||
.BR "-E" |
||||
Echo all queries. |
||||
.TP |
||||
.BR "-F" |
||||
Disable automatic fsync() call after each transaction. |
||||
This option improves performance, but an operating system crash |
||||
while a transaction is in progress will probably cause data loss. |
||||
.TP |
||||
.BR "-O" |
||||
Override restrictions, so system table structures can be modified(pg_*). |
||||
.TP |
||||
.BR "-Q" |
||||
Specifies \*(lqquiet\*(rq mode. |
||||
.TP |
||||
.BR "-S" " kbytes" |
||||
Specifies the amount of memory to be used by internal sorts and hashes |
||||
before resorting to temporary disk files. The value is specified in |
||||
kilobytes, and defaults to 512 kilobytes. Note that for a complex query, |
||||
several sorts and/or hashes might be running in parallel, and each one |
||||
will be allowed to use as much as -S kilobytes before it starts to put |
||||
data into temporary files. |
||||
.TP |
||||
.BR "-e" |
||||
The |
||||
.IR "-e" |
||||
option controls how dates are input to and output from the database. |
||||
.IP |
||||
If the |
||||
.IR "-e" |
||||
option is supplied, then all dates passed to and from the frontend |
||||
processes will be assumed to be in |
||||
.IR "European" |
||||
format ie. |
||||
.IR "DD-MM-YYYY" |
||||
otherwise dates are input and output in |
||||
.IR "American" |
||||
format ie. |
||||
.IR "MM-DD-YYYY" |
||||
.TP |
||||
.BR "-d" " debug_level" |
||||
Turns on debugging at the numeric level |
||||
.IR "debug_level" . |
||||
Turning on debugging will cause query, parse trees, and query plans to |
||||
be displayed. |
||||
.TP |
||||
.BR "-o" " output_file" |
||||
Sends all debugging and error output to |
||||
.IR output_file . |
||||
If the backend is running under the |
||||
.IR postmaster , |
||||
error messages are still sent to the frontend process as well as to |
||||
.IR output_file , |
||||
but debugging output is sent to the controlling tty of the |
||||
.IR postmaster |
||||
(since only one file descriptor can be sent to an actual file). |
||||
.TP |
||||
.BR "-s" |
||||
Print time information and other statistics at the end of each query. |
||||
This is useful for benchmarking or for use in tuning the number of |
||||
buffers. |
||||
.TP |
||||
.BR "-v" " protocol" |
||||
Specifies the number of the frontend/backend protocol to be used for this |
||||
particular session. |
||||
.SH "DEVELOPER COMMAND OPTIONS" |
||||
There are several other options that may be specified, used mainly |
||||
for debugging purposes. These are listed here only for the use by |
||||
Postgres system developers. |
||||
.BR "Use of any of these options is highly discouraged" . |
||||
Furthermore, any of these options may disappear or change at any time. |
||||
.TP |
||||
.BR "-A" "n|r|b|Q\fIn\fP|X\fIn\fP" |
||||
.IP |
||||
This option generates a tremendous amount of output. |
||||
.TP |
||||
.BR "-L" |
||||
Turns off the locking system. |
||||
.TP |
||||
.BR "-N" |
||||
Disables use of newline as a query delimiter. |
||||
.TP |
||||
.BR "-f" |
||||
Forbids the use of particular scan and join methods: |
||||
.IR s " and " i |
||||
disable sequential and index scans respectively, while |
||||
.IR n ", " m " and " h |
||||
disable nested-loop, merge and hash joins respectively. |
||||
(Neither sequential scans nor nested-loop joins can be disabled completely; |
||||
the -fs and -fn options simply discourage the optimizer from using those |
||||
plan types if it has any other alternative.) |
||||
.TP |
||||
.BR "-i" |
||||
Prevents query execution, but shows the plan tree. |
||||
.TP |
||||
.BR "-p" " databasename" |
||||
Indicates to the backend server that it has been started by a |
||||
.IR postmaster |
||||
and make different assumptions about buffer pool management, file |
||||
descriptors, etc. Switches following -p are restricted to those |
||||
considered "secure". |
||||
.TP |
||||
.BR "-t" "pa[rser]|pl[anner]|e[xecutor]" |
||||
Print timing statistics for each query relating to each of the major |
||||
system modules. This option cannot be used with |
||||
.BR "-s" . |
||||
.SH "SEE ALSO" |
||||
ipcclean(1), |
||||
psql(1), |
||||
postmaster(1). |
||||
.SH "DIAGNOSTICS" |
||||
Of the nigh-infinite number of error messages you may see when you |
||||
execute the backend server directly, the most common will probably be: |
||||
.TP |
||||
.BR "semget: No space left on device" |
||||
If you see this message, you should run the |
||||
.IR ipcclean |
||||
command. After doing this, try starting |
||||
.IR postgres |
||||
again. If this still doesn't work, you probably need to configure |
||||
your kernel for shared memory and semaphores as described in the |
||||
installation notes. |
@ -0,0 +1,500 @@ |
||||
<refentry id="APP-POSTMASTER"> |
||||
<refmeta> |
||||
<refentrytitle> |
||||
<application>postmaster</application> |
||||
</refentrytitle> |
||||
<refmiscinfo>Application</refmiscinfo> |
||||
</refmeta> |
||||
<refnamediv> |
||||
<refname id="postmaster"> |
||||
<application>postmaster</application> |
||||
</refname> |
||||
<refpurpose> |
||||
Run the <productname>Postgres</productname> multi-user backend |
||||
</refpurpose> |
||||
</refnamediv> |
||||
<refsynopsisdiv> |
||||
<refsynopsisdivinfo> |
||||
<date>1999-05-19</date> |
||||
</refsynopsisdivinfo> |
||||
<synopsis> |
||||
postmaster [ -B <replaceable class="parameter">nBuffers</replaceable> ] |
||||
[ -D <replaceable class="parameter">DataDir</replaceable> ] [-N <replaceable class="parameter">nBackends</replaceable> ] [ -S ] |
||||
[ -d [ <replaceable class="parameter">DebugLevel</replaceable> ] ] |
||||
[ -i ] [ -o <replaceable class="parameter">BackendOptions</replaceable> ] [ -p <replaceable class="parameter">port</replaceable> ] |
||||
postmaster [ -n | -s ] ... |
||||
</synopsis> |
||||
|
||||
<refsect2 id="R2-APP-POSTMASTER-1"> |
||||
<refsect2info> |
||||
<date>1999-05-19</date> |
||||
</refsect2info> |
||||
<title> |
||||
Inputs |
||||
</title> |
||||
<para> |
||||
<application>postmaster</application> accepts the following command line arguments: |
||||
|
||||
<variablelist> |
||||
<varlistentry> |
||||
<term> |
||||
-B <replaceable class="parameter">nBuffers</replaceable> |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
The number of shared-memory buffers for the |
||||
<application>postmaster</application> |
||||
to allocate and manage for the backend server processes that it |
||||
starts. This value defaults to 64 buffers, where each buffer is 8k bytes |
||||
(or whatever BLCKSZ is set to in config.h). |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<varlistentry> |
||||
<term> |
||||
-D <replaceable class="parameter">DataDir</replaceable> |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
Specifies the directory to use as the root of the tree of database |
||||
directories. If -D is not given, the default data directory name is |
||||
the value of the environment variable |
||||
<envar>PGDATA</envar>. |
||||
If <envar>PGDATA</envar> is not set, then the directory used is |
||||
<filename>$POSTGRESHOME/data</filename>. |
||||
If neither environment variable is set and this command-line |
||||
option is not specified, the default directory that was |
||||
set at compile-time is used. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<varlistentry> |
||||
<term> |
||||
-N <replaceable class="parameter">nBackends</replaceable> |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
The maximum number of backend server processes that this postmaster |
||||
is allowed to start. In the default configuration, this value |
||||
is usually set |
||||
to 32, and can be set as high as 1024 if your system will support that |
||||
many processes. Both the default and upper limit values can be altered |
||||
when building <productname>Postgres</productname> (see src/include/config.h). |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<varlistentry> |
||||
<term> |
||||
-S |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
Specifies that the <application>postmaster</application> |
||||
process should start up in silent mode. That is, it will disassociate |
||||
from the user's (controlling) tty and start its own process group. |
||||
This should not be used in combination with debugging options because |
||||
any messages printed to standard output and standard error are |
||||
discarded. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<varlistentry> |
||||
<term> |
||||
-d [ <replaceable class="parameter">DebugLevel</replaceable> ] |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
The optional argument <replaceable class="parameter">DebugLevel</replaceable> |
||||
determines the amount of debugging output the backend servers will |
||||
produce. |
||||
If <replaceable class="parameter">DebugLevel</replaceable> |
||||
is one, the postmaster will trace all connection traffic, |
||||
and nothing else. |
||||
For levels two and higher, |
||||
debugging is turned on in the backend process and the postmaster |
||||
displays more information, |
||||
including the backend environment and process traffic. |
||||
Note that if no file is specified for backend servers to |
||||
send their debugging output then this output will appear on the |
||||
controlling tty of their parent <application>postmaster</application>. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<varlistentry> |
||||
<term> |
||||
-i |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
This enables TCP/IP or Internet domain socket communication. |
||||
Without this option, only local Unix domain socket communication is |
||||
possible. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<varlistentry> |
||||
<term> |
||||
-o <replaceable class="parameter">BackendOptions</replaceable> |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
The |
||||
<literal>postgres</literal> |
||||
options specified in |
||||
<replaceable class="parameter">BackendOptions</replaceable> |
||||
are passed to all backend server processes started by this |
||||
<application>postmaster</application>. |
||||
If the option string contains any spaces, the entire string must be |
||||
quoted. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<varlistentry> |
||||
<term> |
||||
-p <replaceable class="parameter">port</replaceable> |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
Specifies the TCP/IP port or local Unix domain socket file extension |
||||
on which the <application>postmaster</application> |
||||
is to listen for connections from frontend applications. Defaults to |
||||
the value of the |
||||
<envar>PGPORT</envar> |
||||
environment variable, or if <envar>PGPORT</envar> |
||||
is not set, then defaults to the value established when Postgres was |
||||
compiled (normally 5432). If you specify a port other than the |
||||
default port then all frontend applications (including |
||||
<application>psql</application>) must specify the same |
||||
port using either command-line options or |
||||
<envar>PGPORT</envar>. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
</variablelist> |
||||
</para> |
||||
|
||||
<para> |
||||
A few command line options are available for debugging in the case |
||||
when a backend dies abnormally. |
||||
These options control the behavior of the |
||||
<application>postmaster</application> in this situation, and |
||||
<emphasis>neither option is intended for use in |
||||
ordinary operation</emphasis>. |
||||
</para> |
||||
|
||||
<para> |
||||
The ordinary strategy for this situation is to notify all other |
||||
backends that they must terminate and then reinitialize the shared |
||||
memory and semaphores. This is because an errant backend could have |
||||
corrupted some shared state before terminating. |
||||
</para> |
||||
|
||||
<para> |
||||
These special-case options are: |
||||
|
||||
<variablelist> |
||||
<varlistentry> |
||||
<term> |
||||
-n |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
If the <literal>-n</literal> |
||||
option is supplied, then the |
||||
<application>postmaster</application> |
||||
does not reinitialize shared data structures. A knowledgable system |
||||
programmer can then use the |
||||
<application>shmemdoc</application> |
||||
program to examine shared memory and semaphore state. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<varlistentry> |
||||
<term> |
||||
-s |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
<application>postmaster</application> |
||||
will stop all other backend processes by sending the signal |
||||
<literal>SIGSTOP</literal>, |
||||
but will not cause them to terminate. This permits system programmers |
||||
to collect core dumps from all backend processes by hand. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
</variablelist> |
||||
</para> |
||||
</refsect2> |
||||
|
||||
<refsect2 id="R2-APP-POSTMASTER-1"> |
||||
<refsect2info> |
||||
<date>1999-05-19</date> |
||||
</refsect2info> |
||||
<title> |
||||
Outputs |
||||
</title> |
||||
<para> |
||||
|
||||
<variablelist> |
||||
<!-- |
||||
<varlistentry> |
||||
<term> |
||||
FindBackend: could not find a backend to execute... |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
If you see this message, you do not have the |
||||
<application>postgres</application> |
||||
executable in your path. Add the directory in which |
||||
<application>postgres</application> resides to |
||||
your path. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
--> |
||||
<varlistentry> |
||||
<term> |
||||
semget: No space left on device |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
If you see this message, you should run the |
||||
<application>ipcclean</application> |
||||
command. After doing this, try starting |
||||
<application>postmaster</application> |
||||
again. If this still doesn't work, you probably need to configure |
||||
your kernel for shared memory and semaphores as described in the |
||||
installation notes. If you run multiple instances of |
||||
<application>postmaster</application> |
||||
on a single host, or have a kernel with particularly small shared memory |
||||
and/or semaphore limits, you may have to reconfigure your kernel to increase |
||||
its shared memory or semaphore parameters. |
||||
|
||||
<tip> |
||||
<para> |
||||
You may be able to postpone |
||||
reconfiguring your kernel by decreasing -B to reduce |
||||
<productname>Postgres</productname>' shared memory |
||||
consumption, or by reducing -N to reduce Postgres' semaphore |
||||
consumption. |
||||
</para> |
||||
</tip> |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<varlistentry> |
||||
<term> |
||||
StreamServerPort: cannot bind to port |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
If you see this message, you should be certain that there is no other |
||||
<application>postmaster</application> |
||||
process already running. The easiest way to determine this is by |
||||
using the command |
||||
<programlisting> |
||||
% ps -ax | grep postmaster |
||||
</programlisting> |
||||
on BSD-based systems, or |
||||
<programlisting> |
||||
% ps -e | grep postmast |
||||
</programlisting> |
||||
for System V-like or POSIX-compliant systems such as HP-UX. |
||||
</para> |
||||
|
||||
<para> |
||||
If you |
||||
are sure that no other |
||||
<application>postmaster</application> |
||||
processes are running and you still get this error, try specifying a |
||||
different port using the |
||||
<literal>-p</literal> |
||||
option. You may also get this error if you terminate the |
||||
<application>postmaster</application> |
||||
and immediately restart it using the same port; in this case, you must |
||||
simply wait a few seconds until the operating system closes the port |
||||
before trying again. Finally, you may get this error if you specify |
||||
a port number that your operating system considers to be reserved. |
||||
For example, many versions of Unix consider port numbers under 1024 to |
||||
be <firstterm>trusted</firstterm> |
||||
and only permit the Unix superuser to access them. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<varlistentry> |
||||
<term> |
||||
IpcMemoryAttach: shmat() failed: Permission denied |
||||
</term> |
||||
<listitem> |
||||
<para> |
||||
A likely explanation is that another user attempted to start a |
||||
<application>postmaster</application> |
||||
process on the same port which acquired shared resources and then |
||||
died. Since Postgres shared memory keys are based on the port number |
||||
assigned to the |
||||
<application>postmaster</application>, |
||||
such conflicts are likely if there is more than one installation on |
||||
a single host. If there are no other |
||||
<application>postmaster</application> |
||||
processes currently running (see above), run |
||||
<application>ipcclean</application> |
||||
and try again. If other <application>postmaster</application> |
||||
images |
||||
are running, you will have to find the owners of those processes to |
||||
coordinate the assignment of port numbers and/or removal of unused |
||||
shared memory segments. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
</variablelist> |
||||
</para> |
||||
</refsect2> |
||||
</refsynopsisdiv> |
||||
|
||||
<refsect1 id="R1-APP-POSTMASTER-1"> |
||||
<refsect1info> |
||||
<date>1999-05-19</date> |
||||
</refsect1info> |
||||
<title> |
||||
Description |
||||
</title> |
||||
|
||||
<para> |
||||
<application>postmaster</application> |
||||
manages the communication between frontend and backend processes, as |
||||
well as allocating the shared buffer pool and SysV semaphores |
||||
(on machines without a test-and-set instruction). |
||||
<application>postmaster</application> |
||||
does not itself interact with the user and should be started as a |
||||
background process. |
||||
</para> |
||||
|
||||
<para> |
||||
<emphasis>Only one postmaster should be running at a time in a given |
||||
<productname>Postgres</productname> installation.</emphasis> |
||||
Here, an installation means a database directory and |
||||
<application>postmaster</application> port number. |
||||
You can run more than one postmaster on a machine only if each one has a |
||||
separate directory and port number. |
||||
</para> |
||||
|
||||
<refsect1 id="R1-APP-VACUUMDB-2"> |
||||
<refsect1info> |
||||
<date>1998-10-04</date> |
||||
</refsect1info> |
||||
<title> |
||||
Notes |
||||
</title> |
||||
|
||||
<para> |
||||
If at all possible, |
||||
<emphasis>do not</emphasis> |
||||
use <literal>SIGKILL</literal> |
||||
when killing the <application>postmaster</application>. |
||||
<literal>SIGHUP</literal>, |
||||
<literal>SIGINT</literal>, |
||||
or |
||||
<literal>SIGTERM</literal> |
||||
(the default signal for |
||||
<application>kill</application>(1))" |
||||
should be used instead. Using |
||||
|
||||
<programlisting> |
||||
% kill -KILL |
||||
</programlisting> |
||||
|
||||
or its alternative form |
||||
|
||||
<programlisting> |
||||
% kill -9 |
||||
</programlisting> |
||||
|
||||
will prevent <application>postmaster</application> |
||||
from freeing the system resources (e.g., shared memory and semaphores) |
||||
that it holds before dying. This prevents you from having to deal with |
||||
the problem with shared memory described earlier. |
||||
</para> |
||||
|
||||
<para> |
||||
Useful utilities for dealing with shared memory problems include |
||||
<application>ipcs(1)</application>, |
||||
<application>ipcrm(1</application>), and |
||||
<application>ipcclean(1)</application>. |
||||
</para> |
||||
</refsect1> |
||||
|
||||
<refsect1 id="R1-APP-VACUUMDB-3"> |
||||
<refsect1info> |
||||
<date>1998-10-04</date> |
||||
</refsect1info> |
||||
<title> |
||||
Usage |
||||
</title> |
||||
<para> |
||||
To start <application>postmaster</application> using default |
||||
values, type: |
||||
|
||||
<programlisting> |
||||
% nohup postmaster >logfile 2>&1 & |
||||
</programlisting> |
||||
|
||||
This command will start up <application>postmaster</application> |
||||
on the default port (5432). This is the |
||||
simplest and most common way to start the |
||||
<application>postmaster</application>. |
||||
</para> |
||||
|
||||
<para> |
||||
To start <application>postmaster</application> with a specific port |
||||
and executable name: |
||||
|
||||
<programlisting> |
||||
% nohup postmaster -p 1234 & |
||||
</programlisting> |
||||
|
||||
This command will start up <application>postmaster</application> |
||||
communicating through the port 1234. In order to |
||||
connect to this <application>postmaster</application> |
||||
using psql, you would need to run it as |
||||
|
||||
<programlisting> |
||||
% psql -p 1234 |
||||
</programlisting> |
||||
|
||||
or set the environment variable <envar>PGPORT</envar>: |
||||
|
||||
<programlisting> |
||||
% setenv PGPORT 1234 |
||||
% psql |
||||
</programlisting>. |
||||
|
||||
</refsect1> |
||||
</refentry> |
||||
|
||||
<!-- Keep this comment at the end of the file |
||||
Local variables: |
||||
mode: sgml |
||||
sgml-omittag:nil |
||||
sgml-shorttag:t |
||||
sgml-minimize-attributes:nil |
||||
sgml-always-quote-attributes:t |
||||
sgml-indent-step:1 |
||||
sgml-indent-data:t |
||||
sgml-parent-document:nil |
||||
sgml-default-dtd-file:"../reference.ced" |
||||
sgml-exposed-tags:nil |
||||
sgml-local-catalogs:"/usr/lib/sgml/catalog" |
||||
sgml-local-ecat-files:nil |
||||
End: |
||||
--> |
Loading…
Reference in new issue