Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / external / ibm-public / postfix / dist / man / man1 / postmap.1
blobbde047e03c01b130980aa361c53811cb664910aa
1 .\"     $NetBSD$
2 .\"
3 .TH POSTMAP 1 
4 .ad
5 .fi
6 .SH NAME
7 postmap
8 \-
9 Postfix lookup table management
10 .SH "SYNOPSIS"
11 .na
12 .nf
13 .fi
14 \fBpostmap\fR [\fB-Nbfhimnoprsvw\fR] [\fB-c \fIconfig_dir\fR]
15 [\fB-d \fIkey\fR] [\fB-q \fIkey\fR]
16         [\fIfile_type\fR:]\fIfile_name\fR ...
17 .SH DESCRIPTION
18 .ad
19 .fi
20 The \fBpostmap\fR(1) command creates or queries one or more Postfix
21 lookup tables, or updates an existing one. The input and output
22 file formats are expected to be compatible with:
24 .nf
25     \fBmakemap \fIfile_type\fR \fIfile_name\fR < \fIfile_name\fR
26 .fi
28 If the result files do not exist they will be created with the
29 same group and other read permissions as their source file.
31 While the table update is in progress, signal delivery is
32 postponed, and an exclusive, advisory, lock is placed on the
33 entire table, in order to avoid surprises in spectator
34 processes.
35 .SH "INPUT FILE FORMAT"
36 .na
37 .nf
38 .ad
39 .fi
40 The format of a lookup table input file is as follows:
41 .IP \(bu
42 A table entry has the form
43 .sp
44 .nf
45      \fIkey\fR whitespace \fIvalue\fR
46 .fi
47 .IP \(bu
48 Empty lines and whitespace-only lines are ignored, as
49 are lines whose first non-whitespace character is a `#'.
50 .IP \(bu
51 A logical line starts with non-whitespace text. A line that
52 starts with whitespace continues a logical line.
53 .PP
54 The \fIkey\fR and \fIvalue\fR are processed as is, except that
55 surrounding white space is stripped off. Unlike with Postfix alias
56 databases, quotes cannot be used to protect lookup keys that contain
57 special characters such as `#' or whitespace.
59 By default the lookup key is mapped to lowercase to make
60 the lookups case insensitive; as of Postfix 2.3 this case
61 folding happens only with tables whose lookup keys are
62 fixed-case strings such as btree:, dbm: or hash:. With
63 earlier versions, the lookup key is folded even with tables
64 where a lookup field can match both upper and lower case
65 text, such as regexp: and pcre:. This resulted in loss of
66 information with $\fInumber\fR substitutions.
67 .SH "COMMAND-LINE ARGUMENTS"
68 .na
69 .nf
70 .ad
71 .fi
72 .IP \fB-b\fR
73 Enable message body query mode. When reading lookup keys
74 from standard input with "\fB-q -\fR", process the input
75 as if it is an email message in RFC 2822 format.  Each line
76 of body content becomes one lookup key.
77 .sp
78 By default, the \fB-b\fR option starts generating lookup
79 keys at the first non-header line, and stops when the end
80 of the message is reached.
81 To simulate \fBbody_checks\fR(5) processing, enable MIME
82 parsing with \fB-m\fR. With this, the \fB-b\fR option
83 generates no body-style lookup keys for attachment MIME
84 headers and for attached message/* headers.
85 .sp
86 This feature is available in Postfix version 2.6 and later.
87 .IP "\fB-c \fIconfig_dir\fR"
88 Read the \fBmain.cf\fR configuration file in the named directory
89 instead of the default configuration directory.
90 .IP "\fB-d \fIkey\fR"
91 Search the specified maps for \fIkey\fR and remove one entry per map.
92 The exit status is zero when the requested information was found.
94 If a key value of \fB-\fR is specified, the program reads key
95 values from the standard input stream. The exit status is zero
96 when at least one of the requested keys was found.
97 .IP \fB-f\fR
98 Do not fold the lookup key to lower case while creating or querying
99 a table.
101 With Postfix version 2.3 and later, this option has no
102 effect for regular expression tables. There, case folding
103 is controlled by appending a flag to a pattern.
104 .IP \fB-h\fR
105 Enable message header query mode. When reading lookup keys
106 from standard input with "\fB-q -\fR", process the input
107 as if it is an email message in RFC 2822 format.  Each
108 logical header line becomes one lookup key. A multi-line
109 header becomes one lookup key with one or more embedded
110 newline characters.
112 By default, the \fB-h\fR option generates lookup keys until
113 the first non-header line is reached.
114 To simulate \fBheader_checks\fR(5) processing, enable MIME
115 parsing with \fB-m\fR. With this, the \fB-h\fR option also
116 generates header-style lookup keys for attachment MIME
117 headers and for attached message/* headers.
119 This feature is available in Postfix version 2.6 and later.
120 .IP \fB-i\fR
121 Incremental mode. Read entries from standard input and do not
122 truncate an existing database. By default, \fBpostmap\fR(1) creates
123 a new database from the entries in \fBfile_name\fR.
124 .IP \fB-m\fR
125 Enable MIME parsing with "\fB-b\fR" and "\fB-h\fR".
127 This feature is available in Postfix version 2.6 and later.
128 .IP \fB-N\fR
129 Include the terminating null character that terminates lookup keys
130 and values. By default, \fBpostmap\fR(1) does whatever is
131 the default for
132 the host operating system.
133 .IP \fB-n\fR
134 Don't include the terminating null character that terminates lookup
135 keys and values. By default, \fBpostmap\fR(1) does whatever
136 is the default for
137 the host operating system.
138 .IP \fB-o\fR
139 Do not release root privileges when processing a non-root
140 input file. By default, \fBpostmap\fR(1) drops root privileges
141 and runs as the source file owner instead.
142 .IP \fB-p\fR
143 Do not inherit the file access permissions from the input file
144 when creating a new file.  Instead, create a new file with default
145 access permissions (mode 0644).
146 .IP "\fB-q \fIkey\fR"
147 Search the specified maps for \fIkey\fR and write the first value
148 found to the standard output stream. The exit status is zero
149 when the requested information was found.
151 If a key value of \fB-\fR is specified, the program reads key
152 values from the standard input stream and writes one line of
153 \fIkey value\fR output for each key that was found. The exit
154 status is zero when at least one of the requested keys was found.
155 .IP \fB-r\fR
156 When updating a table, do not complain about attempts to update
157 existing entries, and make those updates anyway.
158 .IP \fB-s\fR
159 Retrieve all database elements, and write one line of
160 \fIkey value\fR output for each element. The elements are
161 printed in database order, which is not necessarily the same
162 as the original input order.
164 This feature is available in Postfix version 2.2 and later,
165 and is not available for all database types.
166 .IP \fB-v\fR
167 Enable verbose logging for debugging purposes. Multiple \fB-v\fR
168 options make the software increasingly verbose.
169 .IP \fB-w\fR
170 When updating a table, do not complain about attempts to update
171 existing entries, and ignore those attempts.
173 Arguments:
174 .IP \fIfile_type\fR
175 The database type. To find out what types are supported, use
176 the "\fBpostconf -m\fR" command.
178 The \fBpostmap\fR(1) command can query any supported file type,
179 but it can create only the following file types:
181 .IP \fBbtree\fR
182 The output file is a btree file, named \fIfile_name\fB.db\fR.
183 This is available on systems with support for \fBdb\fR databases.
184 .IP \fBcdb\fR
185 The output consists of one file, named \fIfile_name\fB.cdb\fR.
186 This is available on systems with support for \fBcdb\fR databases.
187 .IP \fBdbm\fR
188 The output consists of two files, named \fIfile_name\fB.pag\fR and
189 \fIfile_name\fB.dir\fR.
190 This is available on systems with support for \fBdbm\fR databases.
191 .IP \fBhash\fR
192 The output file is a hashed file, named \fIfile_name\fB.db\fR.
193 This is available on systems with support for \fBdb\fR databases.
194 .IP \fBsdbm\fR
195 The output consists of two files, named \fIfile_name\fB.pag\fR and
196 \fIfile_name\fB.dir\fR.
197 This is available on systems with support for \fBsdbm\fR databases.
199 When no \fIfile_type\fR is specified, the software uses the database
200 type specified via the \fBdefault_database_type\fR configuration
201 parameter.
203 .IP \fIfile_name\fR
204 The name of the lookup table source file when rebuilding a database.
205 .SH DIAGNOSTICS
208 Problems are logged to the standard error stream and to
209 \fBsyslogd\fR(8).
210 No output means that no problems were detected. Duplicate entries are
211 skipped and are flagged with a warning.
213 \fBpostmap\fR(1) terminates with zero exit status in case of success
214 (including successful "\fBpostmap -q\fR" lookup) and terminates
215 with non-zero exit status in case of failure.
216 .SH "ENVIRONMENT"
221 .IP \fBMAIL_CONFIG\fR
222 Directory with Postfix configuration files.
223 .IP \fBMAIL_VERBOSE\fR
224 Enable verbose logging for debugging purposes.
225 .SH "CONFIGURATION PARAMETERS"
230 The following \fBmain.cf\fR parameters are especially relevant to
231 this program.
232 The text below provides only a parameter summary. See
233 \fBpostconf\fR(5) for more details including examples.
234 .IP "\fBberkeley_db_create_buffer_size (16777216)\fR"
235 The per-table I/O buffer size for programs that create Berkeley DB
236 hash or btree tables.
237 .IP "\fBberkeley_db_read_buffer_size (131072)\fR"
238 The per-table I/O buffer size for programs that read Berkeley DB
239 hash or btree tables.
240 .IP "\fBconfig_directory (see 'postconf -d' output)\fR"
241 The default location of the Postfix main.cf and master.cf
242 configuration files.
243 .IP "\fBdefault_database_type (see 'postconf -d' output)\fR"
244 The default database type for use in \fBnewaliases\fR(1), \fBpostalias\fR(1)
245 and \fBpostmap\fR(1) commands.
246 .IP "\fBsyslog_facility (mail)\fR"
247 The syslog facility of Postfix logging.
248 .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
249 The mail system name that is prepended to the process name in syslog
250 records, so that "smtpd" becomes, for example, "postfix/smtpd".
251 .SH "SEE ALSO"
254 postalias(1), create/update/query alias database
255 postconf(1), supported database types
256 postconf(5), configuration parameters
257 syslogd(8), system logging
258 .SH "README FILES"
263 Use "\fBpostconf readme_directory\fR" or
264 "\fBpostconf html_directory\fR" to locate this information.
267 DATABASE_README, Postfix lookup table overview
268 .SH "LICENSE"
273 The Secure Mailer license must be distributed with this software.
274 .SH "AUTHOR(S)"
277 Wietse Venema
278 IBM T.J. Watson Research
279 P.O. Box 704
280 Yorktown Heights, NY 10598, USA