courier-auth-postfix is able to use both the dict or the map interface of postfix (look to postfix documentation). However, many dict or map modules are only able to read databases and thus cannot be used with courier-auth-postfix. At the time of writing, none of the LDAP or MySql modules support write operations.
There are also some known problems with hash or btree tables, since there are issues with locking and related to the creation of the databases (you should create the database by hand before using courier-auth-postfix, either with postmap or any other tool).
Right now, I've used this module in production environments only making use of optimizers (optimizers can increase speed, add supports for different kind of databases or supply missing functionalities in the dict modules).
The interface with other databases has just been tested for ``correctness'' and not for ``usability''. In practice, courier-auth-postfix should be able to write to any database postmap is able to write to without problems as long as postfix does not have any trouble in handling a database currently being modified (postfix should correctly take care of locking).
I suggest you test the database you want to use before actually using it (help will be provided in the following sections). Any feedback would be appreciated and I'll be happy to eventually add your own optimizers or suggestions. Just mail me at <ccontavalli at commedia.it>.
Watch out! Right now courier-authpostfix should be considered beta-quality software. Althought I've been using the mysql optimizer on a production system, bugs may exist, even in the debian packages that haven't been deeply tested!