On 22 Jul 2016, at 04:44, martin f krafft <madd...@debian.org> wrote: > > also sprach Timo Sirainen <t...@iki.fi> [2016-07-22 09:51 +0200]: >> pgsql: Query failed, aborting: SELECT p.userid, p.password, u.uid AS >> userdb_uid, u.gid AS userdb_gid, u.home AS userdb_home, u.mail AS >> userdb_mail FROM dovecotpassword('test','pantsfullofunix.net') p, >> dovecotuser('test', 'pantsfullofunix.net') u WHERE doveadm >> >> So here it means that the passdb_query has something like "... >> WHERE %s". The %s expands to the service name, which could be any >> of imap, pop3, lmtp, doveadm, sieve, and several others. In this >> database apparently there are "imap" and "pop3" fields in the >> database but not "doveadm" and maybe not the others. When using >> "doveadm auth" without explicitly specifying the service name, it >> also defaults to "doveadm". > > Thanks for the explanation. Just one question: does it make sense to > default to doveadm in this case? It's not really a service, or is > it?
It is a service, and people have used it to implement special doveadm-specific passdb/userdb queries. > Wouldn't it be better to make the service parameter required, or > use a 'true' (tautological) default? These solutions are highly specific to your configuration and wouldn't be useful for most others.