mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-28 04:37:56 +00:00
postfix-2.11-20130319
This commit is contained in:
parent
8db6af2ac4
commit
2bb602fd21
@ -18288,3 +18288,13 @@ Apologies for any names omitted.
|
|||||||
20130318
|
20130318
|
||||||
|
|
||||||
Portability: botched #ifdef. File: util/dict_lmdb.c.
|
Portability: botched #ifdef. File: util/dict_lmdb.c.
|
||||||
|
|
||||||
|
20130319
|
||||||
|
|
||||||
|
Postfix support for LMDB databases is withdrawn due to the
|
||||||
|
existence of a hard limit (an "out of storage" failure mode
|
||||||
|
that cannot be resolved by increasing the database size).
|
||||||
|
|
||||||
|
Postfix may support LMDB again when without exceptions all
|
||||||
|
"out of storage" failure modes are resolved by increasing
|
||||||
|
the database size.
|
||||||
|
@ -210,12 +210,11 @@ To find out what database types your Postfix system supports, use the "ppooss
|
|||||||
iinntteerrnnaall
|
iinntteerrnnaall
|
||||||
A non-shared, in-memory hash table. Its content are lost when a process
|
A non-shared, in-memory hash table. Its content are lost when a process
|
||||||
terminates.
|
terminates.
|
||||||
llmmddbb
|
llmmddbb (unsupported)
|
||||||
The OpenLDAP LMDB database (a memory-mapped, persistent file). Database
|
The OpenLDAP LMDB database (a memory-mapped, persistent file). Database
|
||||||
files are created with the postmap(1) or postalias(1) command. The
|
files are created with the postmap(1) or postalias(1) command. The
|
||||||
database name as used in "lmdb:table" is the database file name without
|
database name as used in "lmdb:table" is the database file name without
|
||||||
the ".lmdb" suffix. This database type has unexpected limitations and
|
the ".lmdb" suffix.
|
||||||
is therefore not part of the stable Postfix release.
|
|
||||||
llddaapp (read-only)
|
llddaapp (read-only)
|
||||||
Perform lookups using the LDAP protocol. Configuration details are
|
Perform lookups using the LDAP protocol. Configuration details are
|
||||||
given in the ldap_table(5).
|
given in the ldap_table(5).
|
||||||
|
@ -4,6 +4,14 @@ PPoossttffiixx OOppeennLLDDAAPP LLMMDDBB HHoowwttoo
|
|||||||
|
|
||||||
IInnttrroodduuccttiioonn
|
IInnttrroodduuccttiioonn
|
||||||
|
|
||||||
|
Note:
|
||||||
|
Postfix support for LMDB databases is withdrawn due to the existence of a
|
||||||
|
hard limit (an "out of storage" failure mode that cannot be resolved by
|
||||||
|
increasing the database size).
|
||||||
|
|
||||||
|
Postfix may support LMDB again when without exception all "out of storage"
|
||||||
|
failure modes are resolved by increasing the database size.
|
||||||
|
|
||||||
Postfix uses databases of various kinds to store and look up information.
|
Postfix uses databases of various kinds to store and look up information.
|
||||||
Postfix databases are specified as "type:name". OpenLDAP LMDB implements the
|
Postfix databases are specified as "type:name". OpenLDAP LMDB implements the
|
||||||
Postfix database type "lmdb". The name of a Postfix OpenLDAP LMDB database is
|
Postfix database type "lmdb". The name of a Postfix OpenLDAP LMDB database is
|
||||||
@ -70,6 +78,20 @@ that don't exist with other Postfix databases.
|
|||||||
|
|
||||||
UUnneexxppeecctteedd ppoossttmmaapp((11))//ppoossttaalliiaass((11)) ""ddaattaabbaassee ffuullll"" eerrrroorrss..
|
UUnneexxppeecctteedd ppoossttmmaapp((11))//ppoossttaalliiaass((11)) ""ddaattaabbaassee ffuullll"" eerrrroorrss..
|
||||||
|
|
||||||
|
Problem:
|
||||||
|
The "postmap lmdb:filename" command fails with an MDB_TXN_FULL error. This
|
||||||
|
problem does not exist with other Postfix databases.
|
||||||
|
|
||||||
|
Background:
|
||||||
|
The LMDB implementation has a hard limit on the total transaction size.
|
||||||
|
This limit is independent of the LMDB database size. Therefore, the problem
|
||||||
|
cannot be resolved by increasing the lmdb_map_size value.
|
||||||
|
|
||||||
|
This symptom is indicative of a flawed design. All LMDB data structures
|
||||||
|
should share the same storage pool so that they can scale with the database
|
||||||
|
size, and so that all "out of storage" errors are resolved by increasing
|
||||||
|
the database size.
|
||||||
|
|
||||||
Problem:
|
Problem:
|
||||||
The "postmap lmdb:filename" command fails with an MDB_MAP_FULL error. This
|
The "postmap lmdb:filename" command fails with an MDB_MAP_FULL error. This
|
||||||
problem does not exist with other Postfix databases.
|
problem does not exist with other Postfix databases.
|
||||||
|
@ -14,6 +14,16 @@ specifies the release date of a stable release or snapshot release.
|
|||||||
If you upgrade from Postfix 2.9 or earlier, read RELEASE_NOTES-2.10
|
If you upgrade from Postfix 2.9 or earlier, read RELEASE_NOTES-2.10
|
||||||
before proceeding.
|
before proceeding.
|
||||||
|
|
||||||
|
Major changes with snapshot 20130319
|
||||||
|
====================================
|
||||||
|
|
||||||
|
Postfix support for LMDB databases is withdrawn due to the existence
|
||||||
|
of a hard limit (an "out of storage" failure mode that cannot be
|
||||||
|
resolved by increasing the database size).
|
||||||
|
|
||||||
|
Postfix may support LMDB again when without exception all "out of
|
||||||
|
storage" failure modes are resolved by increasing the database size.
|
||||||
|
|
||||||
Major changes with snapshot 20130315
|
Major changes with snapshot 20130315
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
|
@ -311,14 +311,12 @@ name as used in "hash:table" is the database file name without the
|
|||||||
<dd> A non-shared, in-memory hash table. Its content are lost when
|
<dd> A non-shared, in-memory hash table. Its content are lost when
|
||||||
a process terminates. </dd>
|
a process terminates. </dd>
|
||||||
|
|
||||||
<dt> <b>lmdb</b> </dt>
|
<dt> <b>lmdb</b> (unsupported) </dt>
|
||||||
|
|
||||||
<dd> The OpenLDAP LMDB database (a memory-mapped, persistent file).
|
<dd> The OpenLDAP LMDB database (a memory-mapped, persistent file).
|
||||||
Database files are created with the <a href="postmap.1.html">postmap(1)</a> or <a href="postalias.1.html">postalias(1)</a>
|
Database files are created with the <a href="postmap.1.html">postmap(1)</a> or <a href="postalias.1.html">postalias(1)</a>
|
||||||
command. The database name as used in "<a href="LMDB_README.html">lmdb</a>:table" is the database
|
command. The database name as used in "<a href="LMDB_README.html">lmdb</a>:table" is the database
|
||||||
file name without the ".lmdb" suffix. This database type has
|
file name without the ".lmdb" suffix.
|
||||||
unexpected limitations and is therefore not part of the stable
|
|
||||||
Postfix release.
|
|
||||||
|
|
||||||
<dt> <b>ldap</b> (read-only) </dt>
|
<dt> <b>ldap</b> (read-only) </dt>
|
||||||
|
|
||||||
|
@ -19,6 +19,13 @@
|
|||||||
|
|
||||||
<h2>Introduction</h2>
|
<h2>Introduction</h2>
|
||||||
|
|
||||||
|
<dl> <dt> Note: </dt> <dd> <p> Postfix support for LMDB databases
|
||||||
|
is withdrawn due to the existence of a hard limit (an "out of
|
||||||
|
storage" failure mode that cannot be resolved by increasing the
|
||||||
|
database size). </p> <p> Postfix may support LMDB again when without
|
||||||
|
exception all "out of storage" failure modes are resolved by
|
||||||
|
increasing the database size. </p> </dd> </dl>
|
||||||
|
|
||||||
<p> Postfix uses databases of various kinds to store and look up
|
<p> Postfix uses databases of various kinds to store and look up
|
||||||
information. Postfix databases are specified as "type:name".
|
information. Postfix databases are specified as "type:name".
|
||||||
OpenLDAP LMDB implements the Postfix database type "lmdb".
|
OpenLDAP LMDB implements the Postfix database type "lmdb".
|
||||||
@ -120,6 +127,24 @@ errors. </strong></p>
|
|||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
|
|
||||||
|
<dt> Problem: </dt> <dd> <p> The "postmap <a href="LMDB_README.html">lmdb</a>:filename" command
|
||||||
|
fails with an MDB_TXN_FULL error. This problem does not exist with
|
||||||
|
other Postfix databases. </p> </dd>
|
||||||
|
|
||||||
|
<dt> Background: </dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<p> The LMDB implementation has a hard limit on the total transaction
|
||||||
|
size. This limit is independent of the LMDB database size. Therefore,
|
||||||
|
the problem cannot be resolved by increasing the <a href="postconf.5.html#lmdb_map_size">lmdb_map_size</a>
|
||||||
|
value. </p>
|
||||||
|
|
||||||
|
<p> This symptom is indicative of a flawed design. All LMDB data
|
||||||
|
structures should share the same storage pool so that they can scale
|
||||||
|
with the database size, and so that all "out of storage" errors are
|
||||||
|
resolved by increasing the database size. </p> </dd>
|
||||||
|
|
||||||
<dt> Problem: </dt> <dd> <p> The "postmap <a href="LMDB_README.html">lmdb</a>:filename" command
|
<dt> Problem: </dt> <dd> <p> The "postmap <a href="LMDB_README.html">lmdb</a>:filename" command
|
||||||
fails with an MDB_MAP_FULL error. This problem does not exist with
|
fails with an MDB_MAP_FULL error. This problem does not exist with
|
||||||
other Postfix databases. </p> </dd>
|
other Postfix databases. </p> </dd>
|
||||||
|
@ -195,8 +195,12 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
A non-shared, in-memory hash table. Its con-
|
A non-shared, in-memory hash table. Its con-
|
||||||
tent are lost when a process terminates.
|
tent are lost when a process terminates.
|
||||||
|
|
||||||
|
<b>lmdb</b> (unsupported)
|
||||||
|
The OpenLDAP LMDB database (a memory-mapped,
|
||||||
|
persistent file).
|
||||||
|
|
||||||
<b>ldap</b> (read-only)
|
<b>ldap</b> (read-only)
|
||||||
Perform lookups using the LDAP protocol.
|
Perform lookups using the LDAP protocol.
|
||||||
This is described in <a href="ldap_table.5.html"><b>ldap_table</b>(5)</a>.
|
This is described in <a href="ldap_table.5.html"><b>ldap_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>memcache</b>
|
<b>memcache</b>
|
||||||
@ -204,156 +208,156 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
This is described in <a href="memcache_table.5.html"><b>memcache_table</b>(5)</a>.
|
This is described in <a href="memcache_table.5.html"><b>memcache_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>mysql</b> (read-only)
|
<b>mysql</b> (read-only)
|
||||||
Perform lookups using the MYSQL protocol.
|
Perform lookups using the MYSQL protocol.
|
||||||
This is described in <a href="mysql_table.5.html"><b>mysql_table</b>(5)</a>.
|
This is described in <a href="mysql_table.5.html"><b>mysql_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>pcre</b> (read-only)
|
<b>pcre</b> (read-only)
|
||||||
A lookup table based on Perl Compatible Reg-
|
A lookup table based on Perl Compatible Reg-
|
||||||
ular Expressions. The file format is
|
ular Expressions. The file format is
|
||||||
described in <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
|
described in <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>pgsql</b> (read-only)
|
<b>pgsql</b> (read-only)
|
||||||
Perform lookups using the PostgreSQL proto-
|
Perform lookups using the PostgreSQL proto-
|
||||||
col. This is described in <a href="pgsql_table.5.html"><b>pgsql_table</b>(5)</a>.
|
col. This is described in <a href="pgsql_table.5.html"><b>pgsql_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>proxy</b> A lookup table that is implemented via the
|
<b>proxy</b> A lookup table that is implemented via the
|
||||||
Postfix <a href="proxymap.8.html"><b>proxymap</b>(8)</a> service. The table name
|
Postfix <a href="proxymap.8.html"><b>proxymap</b>(8)</a> service. The table name
|
||||||
syntax is <i>type</i><b>:</b><i>name</i>.
|
syntax is <i>type</i><b>:</b><i>name</i>.
|
||||||
|
|
||||||
<b>regexp</b> (read-only)
|
<b>regexp</b> (read-only)
|
||||||
A lookup table based on regular expressions.
|
A lookup table based on regular expressions.
|
||||||
The file format is described in <a href="regexp_table.5.html"><b>regexp_ta-</b></a>
|
The file format is described in <a href="regexp_table.5.html"><b>regexp_ta-</b></a>
|
||||||
<a href="regexp_table.5.html"><b>ble</b>(5)</a>.
|
<a href="regexp_table.5.html"><b>ble</b>(5)</a>.
|
||||||
|
|
||||||
<b>sdbm</b> An indexed file type based on hashing. This
|
<b>sdbm</b> An indexed file type based on hashing. This
|
||||||
is available on systems with support for
|
is available on systems with support for
|
||||||
SDBM databases.
|
SDBM databases.
|
||||||
|
|
||||||
<b>socketmap</b> (read-only)
|
<b>socketmap</b> (read-only)
|
||||||
Query a Sendmail-style socketmap server. The
|
Query a Sendmail-style socketmap server. The
|
||||||
name of the table specifies
|
name of the table specifies
|
||||||
<b>inet</b>:<i>host</i>:<i>port</i>:<i>socketmap-name</i> for a TCP-
|
<b>inet</b>:<i>host</i>:<i>port</i>:<i>socketmap-name</i> for a TCP-
|
||||||
based server, or <b>unix</b>:<i>pathname</i>:<i>socketmap-</i>
|
based server, or <b>unix</b>:<i>pathname</i>:<i>socketmap-</i>
|
||||||
<i>name</i> for a UNIX-domain server. In both
|
<i>name</i> for a UNIX-domain server. In both
|
||||||
cases, <i>socketmap-name</i> is the name of the
|
cases, <i>socketmap-name</i> is the name of the
|
||||||
socketmap.
|
socketmap.
|
||||||
|
|
||||||
<b>sqlite</b> (read-only)
|
<b>sqlite</b> (read-only)
|
||||||
Perform lookups from SQLite database files.
|
Perform lookups from SQLite database files.
|
||||||
This is described in <a href="sqlite_table.5.html"><b>sqlite_table</b>(5)</a>.
|
This is described in <a href="sqlite_table.5.html"><b>sqlite_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>static</b> (read-only)
|
<b>static</b> (read-only)
|
||||||
A table that always returns its name as
|
A table that always returns its name as
|
||||||
lookup result. For example, <b><a href="DATABASE_README.html#types">static</a>:foobar</b>
|
lookup result. For example, <b><a href="DATABASE_README.html#types">static</a>:foobar</b>
|
||||||
always returns the string <b>foobar</b> as lookup
|
always returns the string <b>foobar</b> as lookup
|
||||||
result.
|
result.
|
||||||
|
|
||||||
<b>tcp</b> (read-only)
|
<b>tcp</b> (read-only)
|
||||||
Perform lookups using a simple request-reply
|
Perform lookups using a simple request-reply
|
||||||
protocol that is described in <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
|
protocol that is described in <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>texthash</b> (read-only)
|
<b>texthash</b> (read-only)
|
||||||
Produces similar results as hash: files,
|
Produces similar results as hash: files,
|
||||||
except that you don't need to run the
|
except that you don't need to run the
|
||||||
<a href="postmap.1.html"><b>postmap</b>(1)</a> command before you can use the
|
<a href="postmap.1.html"><b>postmap</b>(1)</a> command before you can use the
|
||||||
file, and that it does not detect changes
|
file, and that it does not detect changes
|
||||||
after the file is read.
|
after the file is read.
|
||||||
|
|
||||||
<b>unix</b> (read-only)
|
<b>unix</b> (read-only)
|
||||||
A limited way to query the UNIX authentica-
|
A limited way to query the UNIX authentica-
|
||||||
tion database. The following tables are
|
tion database. The following tables are
|
||||||
implemented:
|
implemented:
|
||||||
|
|
||||||
<b>unix:passwd.byname</b>
|
<b>unix:passwd.byname</b>
|
||||||
The table is the UNIX password data-
|
The table is the UNIX password data-
|
||||||
base. The key is a login name. The
|
base. The key is a login name. The
|
||||||
result is a password file entry in
|
result is a password file entry in
|
||||||
<b>passwd</b>(5) format.
|
<b>passwd</b>(5) format.
|
||||||
|
|
||||||
<b>unix:group.byname</b>
|
<b>unix:group.byname</b>
|
||||||
The table is the UNIX group database.
|
The table is the UNIX group database.
|
||||||
The key is a group name. The result
|
The key is a group name. The result
|
||||||
is a group file entry in <b>group</b>(5)
|
is a group file entry in <b>group</b>(5)
|
||||||
format.
|
format.
|
||||||
|
|
||||||
Other table types may exist depending on how Post-
|
Other table types may exist depending on how Post-
|
||||||
fix was built.
|
fix was built.
|
||||||
|
|
||||||
<b>-M</b> Show <a href="master.5.html"><b>master.cf</b></a> file contents instead of <a href="postconf.5.html"><b>main.cf</b></a>
|
<b>-M</b> Show <a href="master.5.html"><b>master.cf</b></a> file contents instead of <a href="postconf.5.html"><b>main.cf</b></a>
|
||||||
file contents. Specify <b>-Mf</b> to fold long lines for
|
file contents. Specify <b>-Mf</b> to fold long lines for
|
||||||
human readability.
|
human readability.
|
||||||
|
|
||||||
If <i>service ...</i> is specified, only the matching ser-
|
If <i>service ...</i> is specified, only the matching ser-
|
||||||
vices will be output. For example, "<b>postconf -Mf</b>
|
vices will be output. For example, "<b>postconf -Mf</b>
|
||||||
<b>inet</b>" will output all services that listen on the
|
<b>inet</b>" will output all services that listen on the
|
||||||
network.
|
network.
|
||||||
|
|
||||||
Specify zero or more arguments, each with a <i>ser-</i>
|
Specify zero or more arguments, each with a <i>ser-</i>
|
||||||
<i>vice-type</i> name (<b>inet</b>, <b>unix</b>, <b>fifo</b>, or <b>pass</b>) or with
|
<i>vice-type</i> name (<b>inet</b>, <b>unix</b>, <b>fifo</b>, or <b>pass</b>) or with
|
||||||
a <i>service-name.service-type</i> pair, where <i>service-</i>
|
a <i>service-name.service-type</i> pair, where <i>service-</i>
|
||||||
<i>name</i> is the first field of a <a href="master.5.html">master.cf</a> entry.
|
<i>name</i> is the first field of a <a href="master.5.html">master.cf</a> entry.
|
||||||
|
|
||||||
This feature is available with Postfix 2.9 and
|
This feature is available with Postfix 2.9 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
<b>-n</b> Show only configuration parameters that have
|
<b>-n</b> Show only configuration parameters that have
|
||||||
explicit <i>name=value</i> settings in <a href="postconf.5.html"><b>main.cf</b></a>. Specify
|
explicit <i>name=value</i> settings in <a href="postconf.5.html"><b>main.cf</b></a>. Specify
|
||||||
<b>-nf</b> to fold long lines for human readability (Post-
|
<b>-nf</b> to fold long lines for human readability (Post-
|
||||||
fix 2.9 and later).
|
fix 2.9 and later).
|
||||||
|
|
||||||
<b>-o</b> <i>name=value</i>
|
<b>-o</b> <i>name=value</i>
|
||||||
Override <a href="postconf.5.html"><b>main.cf</b></a> parameter settings.
|
Override <a href="postconf.5.html"><b>main.cf</b></a> parameter settings.
|
||||||
|
|
||||||
This feature is available with Postfix 2.10 and
|
This feature is available with Postfix 2.10 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
<b>-t</b> [<i>template</i><b>_</b><i>file</i>]
|
<b>-t</b> [<i>template</i><b>_</b><i>file</i>]
|
||||||
Display the templates for text that appears at the
|
Display the templates for text that appears at the
|
||||||
beginning of delivery status notification (DSN)
|
beginning of delivery status notification (DSN)
|
||||||
messages, without expanding $<b>name</b> expressions.
|
messages, without expanding $<b>name</b> expressions.
|
||||||
|
|
||||||
To override the built-in templates, specify a tem-
|
To override the built-in templates, specify a tem-
|
||||||
plate file name at the end of the <a href="postconf.1.html"><b>postconf</b>(1)</a> com-
|
plate file name at the end of the <a href="postconf.1.html"><b>postconf</b>(1)</a> com-
|
||||||
mand line, or specify a file name in <a href="postconf.5.html"><b>main.cf</b></a> with
|
mand line, or specify a file name in <a href="postconf.5.html"><b>main.cf</b></a> with
|
||||||
the <b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a></b> parameter.
|
the <b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a></b> parameter.
|
||||||
|
|
||||||
To force selection of the built-in templates, spec-
|
To force selection of the built-in templates, spec-
|
||||||
ify an empty template file name on the <a href="postconf.1.html"><b>postconf</b>(1)</a>
|
ify an empty template file name on the <a href="postconf.1.html"><b>postconf</b>(1)</a>
|
||||||
command line (in shell language: "").
|
command line (in shell language: "").
|
||||||
|
|
||||||
This feature is available with Postfix 2.3 and
|
This feature is available with Postfix 2.3 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
||||||
tiple <b>-v</b> options make the software increasingly
|
tiple <b>-v</b> options make the software increasingly
|
||||||
verbose.
|
verbose.
|
||||||
|
|
||||||
<b>-x</b> Expand <i>$name</i> in <a href="postconf.5.html"><b>main.cf</b></a> or <a href="master.5.html"><b>master.cf</b></a> parameter val-
|
<b>-x</b> Expand <i>$name</i> in <a href="postconf.5.html"><b>main.cf</b></a> or <a href="master.5.html"><b>master.cf</b></a> parameter val-
|
||||||
ues. The expansion is recursive.
|
ues. The expansion is recursive.
|
||||||
|
|
||||||
This feature is available with Postfix 2.10 and
|
This feature is available with Postfix 2.10 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
<b>-X</b> Edit the <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and remove the
|
<b>-X</b> Edit the <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and remove the
|
||||||
parameters named on the <a href="postconf.1.html"><b>postconf</b>(1)</a> command line.
|
parameters named on the <a href="postconf.1.html"><b>postconf</b>(1)</a> command line.
|
||||||
The file is copied to a temporary file then renamed
|
The file is copied to a temporary file then renamed
|
||||||
into place. Specify a list of parameter names, not
|
into place. Specify a list of parameter names, not
|
||||||
"<i>name=value</i>" pairs. There is no <a href="postconf.1.html"><b>postconf</b>(1)</a> com-
|
"<i>name=value</i>" pairs. There is no <a href="postconf.1.html"><b>postconf</b>(1)</a> com-
|
||||||
mand to perform the reverse operation.
|
mand to perform the reverse operation.
|
||||||
|
|
||||||
This feature is available with Postfix 2.10 and
|
This feature is available with Postfix 2.10 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
<b>-#</b> Edit the <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and comment
|
<b>-#</b> Edit the <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and comment
|
||||||
out the parameters named on the <a href="postconf.1.html"><b>postconf</b>(1)</a> command
|
out the parameters named on the <a href="postconf.1.html"><b>postconf</b>(1)</a> command
|
||||||
line, so that those parameters revert to their
|
line, so that those parameters revert to their
|
||||||
default values. The file is copied to a temporary
|
default values. The file is copied to a temporary
|
||||||
file then renamed into place. Specify a list of
|
file then renamed into place. Specify a list of
|
||||||
parameter names, not "<i>name=value</i>" pairs. There is
|
parameter names, not "<i>name=value</i>" pairs. There is
|
||||||
no <a href="postconf.1.html"><b>postconf</b>(1)</a> command to perform the reverse oper-
|
no <a href="postconf.1.html"><b>postconf</b>(1)</a> command to perform the reverse oper-
|
||||||
ation.
|
ation.
|
||||||
|
|
||||||
This feature is available with Postfix 2.6 and
|
This feature is available with Postfix 2.6 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
<b>DIAGNOSTICS</b>
|
<b>DIAGNOSTICS</b>
|
||||||
@ -364,18 +368,18 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
Directory with Postfix configuration files.
|
Directory with Postfix configuration files.
|
||||||
|
|
||||||
<b>CONFIGURATION PARAMETERS</b>
|
<b>CONFIGURATION PARAMETERS</b>
|
||||||
The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant
|
The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant
|
||||||
to this program.
|
to this program.
|
||||||
|
|
||||||
The text below provides only a parameter summary. See
|
The text below provides only a parameter summary. See
|
||||||
<a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including examples.
|
<a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including examples.
|
||||||
|
|
||||||
<b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
|
<b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
|
||||||
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and
|
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and
|
||||||
<a href="master.5.html">master.cf</a> configuration files.
|
<a href="master.5.html">master.cf</a> configuration files.
|
||||||
|
|
||||||
<b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a> (empty)</b>
|
<b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a> (empty)</b>
|
||||||
Pathname of a configuration file with bounce mes-
|
Pathname of a configuration file with bounce mes-
|
||||||
sage templates.
|
sage templates.
|
||||||
|
|
||||||
<b>FILES</b>
|
<b>FILES</b>
|
||||||
@ -391,7 +395,7 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
<a href="DATABASE_README.html">DATABASE_README</a>, Postfix lookup table overview
|
<a href="DATABASE_README.html">DATABASE_README</a>, Postfix lookup table overview
|
||||||
|
|
||||||
<b>LICENSE</b>
|
<b>LICENSE</b>
|
||||||
The Secure Mailer license must be distributed with this
|
The Secure Mailer license must be distributed with this
|
||||||
software.
|
software.
|
||||||
|
|
||||||
<b>AUTHOR(S)</b>
|
<b>AUTHOR(S)</b>
|
||||||
|
@ -183,6 +183,9 @@ databases.
|
|||||||
.IP \fBinternal\fR
|
.IP \fBinternal\fR
|
||||||
A non-shared, in-memory hash table. Its content are lost
|
A non-shared, in-memory hash table. Its content are lost
|
||||||
when a process terminates.
|
when a process terminates.
|
||||||
|
.IP "\fBlmdb\fR (unsupported)"
|
||||||
|
The OpenLDAP LMDB database (a memory-mapped, persistent
|
||||||
|
file).
|
||||||
.IP "\fBldap\fR (read-only)"
|
.IP "\fBldap\fR (read-only)"
|
||||||
Perform lookups using the LDAP protocol. This is described
|
Perform lookups using the LDAP protocol. This is described
|
||||||
in \fBldap_table\fR(5).
|
in \fBldap_table\fR(5).
|
||||||
|
@ -311,14 +311,12 @@ name as used in "hash:table" is the database file name without the
|
|||||||
<dd> A non-shared, in-memory hash table. Its content are lost when
|
<dd> A non-shared, in-memory hash table. Its content are lost when
|
||||||
a process terminates. </dd>
|
a process terminates. </dd>
|
||||||
|
|
||||||
<dt> <b>lmdb</b> </dt>
|
<dt> <b>lmdb</b> (unsupported) </dt>
|
||||||
|
|
||||||
<dd> The OpenLDAP LMDB database (a memory-mapped, persistent file).
|
<dd> The OpenLDAP LMDB database (a memory-mapped, persistent file).
|
||||||
Database files are created with the postmap(1) or postalias(1)
|
Database files are created with the postmap(1) or postalias(1)
|
||||||
command. The database name as used in "lmdb:table" is the database
|
command. The database name as used in "lmdb:table" is the database
|
||||||
file name without the ".lmdb" suffix. This database type has
|
file name without the ".lmdb" suffix.
|
||||||
unexpected limitations and is therefore not part of the stable
|
|
||||||
Postfix release.
|
|
||||||
|
|
||||||
<dt> <b>ldap</b> (read-only) </dt>
|
<dt> <b>ldap</b> (read-only) </dt>
|
||||||
|
|
||||||
|
@ -19,6 +19,13 @@
|
|||||||
|
|
||||||
<h2>Introduction</h2>
|
<h2>Introduction</h2>
|
||||||
|
|
||||||
|
<dl> <dt> Note: </dt> <dd> <p> Postfix support for LMDB databases
|
||||||
|
is withdrawn due to the existence of a hard limit (an "out of
|
||||||
|
storage" failure mode that cannot be resolved by increasing the
|
||||||
|
database size). </p> <p> Postfix may support LMDB again when without
|
||||||
|
exception all "out of storage" failure modes are resolved by
|
||||||
|
increasing the database size. </p> </dd> </dl>
|
||||||
|
|
||||||
<p> Postfix uses databases of various kinds to store and look up
|
<p> Postfix uses databases of various kinds to store and look up
|
||||||
information. Postfix databases are specified as "type:name".
|
information. Postfix databases are specified as "type:name".
|
||||||
OpenLDAP LMDB implements the Postfix database type "lmdb".
|
OpenLDAP LMDB implements the Postfix database type "lmdb".
|
||||||
@ -120,6 +127,24 @@ errors. </strong></p>
|
|||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
|
|
||||||
|
<dt> Problem: </dt> <dd> <p> The "postmap lmdb:filename" command
|
||||||
|
fails with an MDB_TXN_FULL error. This problem does not exist with
|
||||||
|
other Postfix databases. </p> </dd>
|
||||||
|
|
||||||
|
<dt> Background: </dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<p> The LMDB implementation has a hard limit on the total transaction
|
||||||
|
size. This limit is independent of the LMDB database size. Therefore,
|
||||||
|
the problem cannot be resolved by increasing the lmdb_map_size
|
||||||
|
value. </p>
|
||||||
|
|
||||||
|
<p> This symptom is indicative of a flawed design. All LMDB data
|
||||||
|
structures should share the same storage pool so that they can scale
|
||||||
|
with the database size, and so that all "out of storage" errors are
|
||||||
|
resolved by increasing the database size. </p> </dd>
|
||||||
|
|
||||||
<dt> Problem: </dt> <dd> <p> The "postmap lmdb:filename" command
|
<dt> Problem: </dt> <dd> <p> The "postmap lmdb:filename" command
|
||||||
fails with an MDB_MAP_FULL error. This problem does not exist with
|
fails with an MDB_MAP_FULL error. This problem does not exist with
|
||||||
other Postfix databases. </p> </dd>
|
other Postfix databases. </p> </dd>
|
||||||
|
@ -177,6 +177,9 @@
|
|||||||
/* .IP \fBinternal\fR
|
/* .IP \fBinternal\fR
|
||||||
/* A non-shared, in-memory hash table. Its content are lost
|
/* A non-shared, in-memory hash table. Its content are lost
|
||||||
/* when a process terminates.
|
/* when a process terminates.
|
||||||
|
/* .IP "\fBlmdb\fR (unsupported)"
|
||||||
|
/* The OpenLDAP LMDB database (a memory-mapped, persistent
|
||||||
|
/* file).
|
||||||
/* .IP "\fBldap\fR (read-only)"
|
/* .IP "\fBldap\fR (read-only)"
|
||||||
/* Perform lookups using the LDAP protocol. This is described
|
/* Perform lookups using the LDAP protocol. This is described
|
||||||
/* in \fBldap_table\fR(5).
|
/* in \fBldap_table\fR(5).
|
||||||
|
@ -22,11 +22,11 @@
|
|||||||
/* size the table can grow to, so it must be set large enough
|
/* size the table can grow to, so it must be set large enough
|
||||||
/* to accomodate the largest tables in use.
|
/* to accomodate the largest tables in use.
|
||||||
/*
|
/*
|
||||||
/* As a safety measure, when Postfix opens an LMDB database it
|
/* As a safety measure, when Postfix opens an LMDB database
|
||||||
/* will set the memory size limit to at least 3x the
|
/* it will set the memory map size to at least 3x the ".lmdb"
|
||||||
/* ".lmdb" file size, so that there is room for the file to
|
/* file size, so that there is room for the file to grow. This
|
||||||
/* grow. This ensures continued availability of Postfix daemon
|
/* ensures that a process can recover from a "table full" error
|
||||||
/* processes.
|
/* with a simple terminate-and-restart.
|
||||||
/* DIAGNOSTICS
|
/* DIAGNOSTICS
|
||||||
/* Fatal errors: cannot open file, file write error, out of memory.
|
/* Fatal errors: cannot open file, file write error, out of memory.
|
||||||
/* SEE ALSO
|
/* SEE ALSO
|
||||||
@ -472,11 +472,11 @@ DICT *dict_lmdb_open(const char *path, int open_flags, int dict_flags)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Try to ensure that the LMDB size limit is at least 3x the current LMDB
|
* Try to ensure that the LMDB size limit is at least 3x the current LMDB
|
||||||
* file size. This should be sufficient to ensure that short-lived
|
* file size. This ensures that Postfix daemon processes can recover from
|
||||||
* Postfix daemon processes can recover from a "table full" error.
|
* a "table full" error with a simple terminate-and-restart.
|
||||||
*
|
*
|
||||||
* Note: readers must increase their LMDB size limit, too, otherwise they
|
* Note: read-only applications must increase their LMDB size limit, too,
|
||||||
* won't be able to continue reading a table after grows.
|
* otherwise they won't be able to read a table after it grows.
|
||||||
*/
|
*/
|
||||||
#ifndef SIZE_T_MAX
|
#ifndef SIZE_T_MAX
|
||||||
#define SIZE_T_MAX __MAXINT__(size_t)
|
#define SIZE_T_MAX __MAXINT__(size_t)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user