Dovecot-auth:致命:未知数据库驱动程序“pgsql”

Dovecot-auth:致命:未知数据库驱动程序“pgsql”

我正在尝试配置 Dovecot + Postfix + PostfixAdmin 以支持 postgresql。我成功配置了 postfix 以将电子邮件发送到我的域的别名,现在我想在我的服务器上配置实际的邮箱支持。我按照 dovecot 2 wiki 上的数据库支持配置选项进行操作(http://wiki.dovecot.org/AuthDatabase/SQL), dovecot 启动时没有出现错误,但在第一次尝试通过 IMAP 连接时,dovecot 在邮件日志中发出抱怨:

auth: Fatal: Unknown database driver 'pgsql'

我确信 dovecot 有 postgres 支持,这里是 dovecot --build-options 的输出:

Build options: ioloop=epoll notify=inotify ipv6 openssl io_block_size=8192
Mail storages: cydir dbox maildir mbox mdbox raw shared
SQL driver plugins: mysql postgresql sqlite
Passdb: checkpassword ldap pam passwd passwd-file shadow sql
Userdb: checkpassword ldap(plugin) nss passwd prefetch passwd-file sql

附加信息:

/etc/dovecot/conf.d/auth-sql.conf.ext

passdb {
  driver = pgsql
  # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext
  args = /etc/dovecot/conf.d/dovecot-sql.conf.ext
}

对于驱动程序部分,我尝试了:“pgsql”、“postgresql”和“sql”,但总是出现错误。

/etc/dovecot/conf.d/dovecot-sql.conf.ext

connect = host=localhost dbname=postfix user=postfix password=secret
default_pass_scheme = CRYPT
password_query = SELECT userid as user, password FROM users WHERE userid = '%u'
user_query = SELECT '/home/'||home AS home, uid, gid FROM users WHERE userid = '%u'

你知道我遗漏了什么吗?谢谢。

答案1

在 CentOS 6 上,不仅需要安装 dovecot 包,还需要安装附加模块,在这种情况下,还需要包 dovecot-pgsql 来支持 postgresql。

/etc/dovecot/conf.d/auth-sql.conf.ext 中驱动程序行的正确语法是:

driver = sql

然后在 /etc/dovecot/conf.d/dovecot-sql.conf.ext 中指定正确的驱动程序

driver = pgsql

相关内容