Dovecot - 身份驗證:致命:未知的資料庫驅動程式“pgsql”

Dovecot - 身份驗證:致命:未知的資料庫驅動程式“pgsql”

我正在嘗試使用 postgresql 支援配置 Dovecot + Postfix + PostfixAdmin。我成功配置了 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

相關內容