![如何修复 amavis mysql 警告“执行失败:未知列‘rseqnum’”](https://linux22.com/image/977859/%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%20amavis%20mysql%20%E8%AD%A6%E5%91%8A%E2%80%9C%E6%89%A7%E8%A1%8C%E5%A4%B1%E8%B4%A5%EF%BC%9A%E6%9C%AA%E7%9F%A5%E5%88%97%E2%80%98rseqnum%E2%80%99%E2%80%9D.png)
如果您将 amavisd-new 与 SQL 服务器一起使用(文档位于 /usr/share/doc/amavisd-new),您将看到类似如下的错误消息:
(!)WARN save_info_final: sql exec: err=1054, 42S22, \
DBD::mysql::st execute failed: Unknown column 'rseqnum' \
in 'field list' at (eval 135)
答案1
从 amavisd-new-2.7.0 开始,需要向表 msgrcpt 添加三个字段,向表 msgs 添加一个字段:
ALTER TABLE msgrcpt ADD rseqnum integer DEFAULT 0 NOT NULL;
ALTER TABLE msgrcpt ADD content char(1) DEFAULT ' ' NOT NULL;
ALTER TABLE msgrcpt ADD is_local char(1) DEFAULT ' ' NOT NULL;
ALTER TABLE msgs ADD originating char(1) DEFAULT ' ' NOT NULL;
输入上述 SQL 语句来更新 amavisd-new 使用的数据库;通常mail_amavis
. 例如: mysql -u <auth-user> -p mail_amavis
就可以这样做。