Yolinux.com

postmap manpage

Search topic Section


POSTMAP(1)		    General Commands Manual		    POSTMAP(1)



NAME
       postmap - Postfix lookup table management

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

DESCRIPTION
       The  postmap(1)	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 their 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 processes.

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 logical line.

       The key and value are processed as is, except  that  surrounding	 white
       space is stripped off. Unlike with Postfix alias databases, quotes can-
       not be used to protect lookup keys that contain special characters such
       as `#' or whitespace.

       By  default  the	 lookup key is mapped to lowercase to make the lookups
       case insensitive; as of Postfix 2.3 this case folding happens only with
       tables whose lookup keys are fixed-case strings such as btree:, dbm: or
       hash:. With earlier versions, the lookup key is folded even with tables
       where  a lookup field can match both upper and lower case text, such as
       regexp: and pcre:. This resulted in loss of  information	 with  $number
       substitutions.

COMMAND-LINE ARGUMENTS
       -b     Enable  message  body  query mode. When reading lookup keys from
	      standard input with "-q -", process the input as	if  it	is  an
	      email  message  in  RFC  2822 format.  Each line of body content
	      becomes one lookup key.

	      By default, the -b option starts generating lookup keys  at  the
	      first  non-header line, and stops when the end of the message is
	      reached.	To simulate  body_checks(5)  processing,  enable  MIME
	      parsing  with  -m.  With	this, the -b option generates no body-
	      style lookup keys for attachment MIME headers and	 for  attached
	      message/* headers.

	      This feature is available in Postfix version 2.6 and later.

       -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  creating  or
	      querying a table.

	      With  Postfix  version  2.3 and later, this option has no effect
	      for regular expression tables. There, case folding is controlled
	      by appending a flag to a pattern.

       -h     Enable  message header query mode. When reading lookup keys from
	      standard input with "-q -", process the input as	if  it	is  an
	      email  message  in  RFC  2822  format.  Each logical header line
	      becomes one lookup key. A multi-line header becomes  one	lookup
	      key with one or more embedded newline characters.

	      By  default, the -h option generates lookup keys until the first
	      non-header line is reached.  To simulate	header_checks(5)  pro-
	      cessing,	enable	MIME parsing with -m. With this, the -h option
	      also generates header-style  lookup  keys	 for  attachment  MIME
	      headers and for attached message/* headers.

	      This feature is available in Postfix version 2.6 and later.

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

       -m     Enable MIME parsing with "-b" and "-h".

	      This feature is available in Postfix version 2.6 and later.

       -N     Include  the  terminating	 null character that terminates lookup
	      keys and values. By default, postmap(1)  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, postmap(1) 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(1) 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,  create  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 information 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 complain about attempts to	update
	      existing entries, and make those updates anyway.

       -s     Retrieve	all database elements, and write one line of key value
	      output for each element. The elements are	 printed  in  database
	      order,  which  is not necessarily the same as the original input
	      order.

	      This feature is available in Postfix version 2.2 and later,  and
	      is not available for all database types.

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

       -w     When updating a table, do not complain about attempts to	update
	      existing entries, and ignore those attempts.

       Arguments:

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

	      The postmap(1) 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 on systems with support	for  db	 data-
		     bases.

	      cdb    The  output  consists  of	one file, named file_name.cdb.
		     This is available on systems with support for  cdb	 data-
		     bases.

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

	      hash   The  output  file	is  a hashed file, named file_name.db.
		     This is available on systems with support	for  db	 data-
		     bases.

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

	      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 data-
	      base.

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(1) terminates with zero exit status in case of success (includ-
       ing  successful	"postmap -q" lookup) and terminates 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  pro-
       gram.   The  text  below	 provides  only a parameter summary. See post-
       conf(5) for more details including examples.

       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  con-
	      figuration 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 (see 'postconf -d' output)
	      The mail system name that is prepended to the  process  name  in
	      syslog  records,	so  that  "smtpd" becomes, for example, "post-
	      fix/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
       Use "postconf readme_directory" or "postconf html_directory" to	locate
       this information.
       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)