如何修复 amavis mysql 警告“执行失败:未知列‘rseqnum’”

如何修复 amavis mysql 警告“执行失败:未知列‘rseqnum’”

如果您将 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就可以这样做。

相关内容