Why does MySQL reject my postfix virtual domain query as "an error in your SQL syntax"?

I have problem with MySQL Courier + Postfix Email Server

Here is error log:

warning: mysql:/etc/postfix/mysql-virtual_domains.cf: query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'virtual FROM `domains` WHERE domain='domain.example'' at line 1

And code in mysql-virtual_domains.cf:

user = mail_admin
password = mypassword
dbname = mail
query = SELECT domain AS virtual FROM `domains` WHERE domain='%s'
hosts = 127.0.0.1

What to do?


VIRTUAL is a keyword in MySQL.

Use a different alias, escape the identifier using backticks.. or just skip the AS [alias] part altogether: maps configured for virtual_alias_domains are only used to check whether there is a result anyway, not what the result is:

a "type:table" lookup table is matched when a table entry matches a lookup string (the lookup result is ignored) -- from man 5 postconf