dovecot-pgsql.conf revision 1c38a95332f1945c9806d7d83175a0d948f51291
# For the pgsql passdb module, you'll need a database with a table that
# contains fields for at least the userid and password. If you want to
# use the user@domain syntax, you might want to have a separate domain
# field as well.
#
# directories, you can use the static userdb module to generate the home
# dir based on the userid and domain. In this case, you won't need fields
# for home, uid, or gid in the database.
#
# If you prefer to use the pgsql userdb module, you'll want to add fields
# for home, uid, and gid. Here is an example table:
#
# CREATE TABLE users (
# userid VARCHAR(128) NOT NULL,
# password VARCHAR(64) NOT NULL,
# home VARCHAR(256) NOT NULL,
# uid INTEGER NOT NULL,
# gid INTEGER NOT NULL,
# active CHAR(1) DEFAULT 'Y' NOT NULL
# );
# Database connection string.
#
# For available options, see the PostgreSQL documention for the PQconnectdb
# function of libpq.
#
# Examples:
# connect = host=192.168.1.1 dbname=users
# connect = host=sql.example.com dbname=virtual user=virtual password=blarg
#
#connect = dbname=virtual user=virtual
# Default password scheme.
#
# Currently supported schemes include PLAIN, PLAIN-MD5, DIGEST-MD5, and CRYPT.
#
#default_pass_scheme = PLAIN-MD5
# Query to retrieve the password.
#
# The query should return one row, one column. If more than one row or column
# is returned, authentication will automatically fail.
#
# Available substitutions:
# %u = entire userid
# %n = user part of user@domain
# %d = domain part of user@domain
#
# Example:
# password_query = SELECT password FROM users WHERE userid = '%n' AND domain = '%d'
# password_query = SELECT password FROM users WHERE userid = '%u' AND active = 'Y'
#
#password_query = SELECT password FROM users WHERE userid = '%u'
# Query to retrieve the user information.
#
# The query must reutrn only one row. The columns to return are home directory,
# uid, and gid. They do not have to be in any given order, but if they are not
# named "home", "uid", and "gid", then they must be cast to those names. If
# more than one row is returned or there's missing fields, login will
# automatically fail.
#
# Examples
# user_query = SELECT home, uid, gid FROM users WHERE userid = '%n' AND domain = '%d'
# user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u'
# user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u'
#
#user_query = SELECT home, uid, gid FROM users WHERE userid = '%u'