    POSTMAP(1)                                             POSTMAP(1)

    NAME
           postmap - Postfix lookup table management

    SYNOPSIS
           postmap [-Nfinoprvw] [-c config_dir] [-d key] [-q key]
                   [file_type:]file_name ...

    DESCRIPTION
           The postmap command creates or queries one or more Postfix
           lookup tables, or updates an existing one. The  input  and
           output file formats are expected to be compatible with:

               makemap file_type file_name < file_name

           If the result files do not exist they will be created with
           the same group and other read permissions  as  the  source
           file.

           While  the table update is in progress, signal delivery is
           postponed, and an exclusive, advisory, lock is  placed  on
           the entire table, in order to avoid surprises in spectator
           programs.

    INPUT FILE FORMAT
           The format of a lookup table input file is as follows:

           o      A table entry has the form

                       key whitespace value

           o      Empty lines and whitespace-only lines are  ignored,
                  as  are  lines whose first non-whitespace character
                  is a `#'.

           o      A logical line starts with non-whitespace  text.  A
                  line  that starts with whitespace continues a logi-
                  cal line.

           The key and value are processed as is,  except  that  sur-
           rounding  white space is stripped off. Unlike with Postfix
           alias databases, quotes cannot be used to  protect  lookup
           keys  that  contain  special  characters  such  as  `#' or
           whitespace. The key is mapped to lowercase to make mapping
           lookups case insensitive.

    COMMAND-LINE ARGUMENTS
           -c config_dir
                  Read  the  main.cf  configuration file in the named
                  directory  instead  of  the  default  configuration
                  directory.

           -d key Search  the  specified  maps for key and remove one
                  entry per map.  The exit status is  zero  when  the
                  requested information was found.

                  If a key value of - is specified, the program reads
                  key values from the standard input stream. The exit
                  status  is  zero when at least one of the requested
                  keys was found.

           -f     Do not fold the lookup key to lower case while cre-
                  ating or querying a map.

           -i     Incremental  mode. Read entries from standard input
                  and  do  not  truncate  an  existing  database.  By
                  default,  postmap  creates  a new database from the
                  entries in file_name.

           -N     Include the terminating null character that  termi-
                  nates  lookup  keys and values. By default, Postfix
                  does whatever is the default for the host operating
                  system.

           -n     Don't  include  the terminating null character that
                  terminates lookup  keys  and  values.  By  default,
                  Postfix  does  whatever is the default for the host
                  operating system.

           -o     Do not release root privileges  when  processing  a
                  non-root input file. By default, postmap drops root
                  privileges  and  runs  as  the  source  file  owner
                  instead.

           -p     Do not inherit the file access permissions from the
                  input file when creating a new file.  Instead, cre-
                  ate  a  new  file  with  default access permissions
                  (mode 0644).

           -q key Search the specified maps for  key  and  write  the
                  first  value  found  to the standard output stream.
                  The exit status is zero when the requested informa-
                  tion was found.

                  If a key value of - is specified, the program reads
                  key values  from  the  standard  input  stream  and
                  writes  one  line  of key value output for each key
                  that was found. The exit status  is  zero  when  at
                  least one of the requested keys was found.

           -r     When  updating a table, do not warn about duplicate
                  entries; silently replace them.

           -v     Enable verbose logging for debugging purposes. Mul-
                  tiple  -v  options  make  the software increasingly
                  verbose.

           -w     When updating a table, do not warn about  duplicate
                  entries; silently ignore them.

           Arguments:

           file_type
                  The  database type. To find out what types are sup-
                  ported, use the "postconf -m" command.

                  The postmap command can query  any  supported  file
                  type,  but  it  can  create only the following file
                  types:

                  btree  The output  file  is  a  btree  file,  named
                         file_name.db.   This  is  available  only on
                         systems with support for db databases.

                  dbm    The output  consists  of  two  files,  named
                         file_name.pag  and  file_name.dir.   This is
                         available only on systems with  support  for
                         dbm databases.

                  hash   The  output  file  is  a  hashed file, named
                         file_name.db.  This  is  available  only  on
                         systems with support for db databases.

                  Use  the command postconf -m to find out what types
                  of database your Postfix installation can  support.

                  When  no  file_type is specified, the software uses
                  the    database    type    specified    via     the
                  default_database_type configuration parameter.

           file_name
                  The  name  of  the  lookup  table  source file when
                  rebuilding a database.

    DIAGNOSTICS
           Problems are logged to the standard error  stream  and  to
           syslogd(8).    No  output  means  that  no  problems  were
           detected. Duplicate entries are skipped  and  are  flagged
           with a warning.

           postmap  terminates  with zero exit status in case of suc-
           cess (including successful postmap -q lookup)  and  termi-
           nates with non-zero exit status in case of failure.

    ENVIRONMENT
           MAIL_CONFIG
                  Directory with Postfix configuration files.

           MAIL_VERBOSE
                  Enable verbose logging for debugging purposes.

    CONFIGURATION PARAMETERS
           The  following  main.cf parameters are especially relevant
           to this program.  The text below provides only a parameter
           summary.  See postconf(5) for more details including exam-
           ples.

           berkeley_db_create_buffer_size (16777216)
                  The per-table I/O buffer  size  for  programs  that
                  create Berkeley DB hash or btree tables.

           berkeley_db_read_buffer_size (131072)
                  The  per-table  I/O  buffer  size for programs that
                  read Berkeley DB hash or btree tables.

           config_directory (see 'postconf -d' output)
                  The default location of  the  Postfix  main.cf  and
                  master.cf configuration files.

           default_database_type (see 'postconf -d' output)
                  The default database type for use in newaliases(1),
                  postalias(1) and postmap(1) commands.

           syslog_facility (mail)
                  The syslog facility of Postfix logging.

           syslog_name (postfix)
                  The mail system name that is prepended to the  pro-
                  cess  name  in  syslog  records,  so  that  "smtpd"
                  becomes, for example, "postfix/smtpd".

    SEE ALSO
           postalias(1), create/update/query alias database
           postconf(1), supported database types
           postconf(5), configuration parameters
           syslogd(8), system logging

    README FILES
           DATABASE_README, Postfix lookup table overview

    LICENSE
           The  Secure  Mailer  license must be distributed with this
           software.

    AUTHOR(S)
           Wietse Venema
           IBM T.J. Watson Research
           P.O. Box 704
           Yorktown Heights, NY 10598, USA

                                                           POSTMAP(1)