User extra field
This is mostly useful in case-insensitive username lookups to get the username returned back using the same casing always. Otherwise depending on your configuration it may cause problems, such as /var/mail/user and /var/mail/User mailboxes created for the same user.
An example password_query in dovecot-sql.conf.ext would be:
password_query = \ SELECT concat(user, '@', domain) AS user, password \ FROM users \ WHERE user = '%n' and domain = '%d'
You can also update "username" and "domain" fields separately:
password_query = \ SELECT user AS username, domain, password \ FROM users \ WHERE user = '%n' and domain = '%d'