Hellow, The K_STRING and K_REGEX lookup kinds are missing from table_db even though nothing prevents them from working technically. The following diff is enough to allow db tables to be used on regex or string contexts.
Index: table_db.c =================================================================== RCS file: /cvs/src/usr.sbin/smtpd/table_db.c,v retrieving revision 1.22 diff -u -p -r1.22 table_db.c --- table_db.c 23 Jan 2021 16:11:11 -0000 1.22 +++ table_db.c 29 Aug 2021 20:08:30 -0000 @@ -55,7 +55,9 @@ static char *table_db_get_entry_match(vo struct table_backend table_backend_db = { "db", - K_ALIAS|K_CREDENTIALS|K_DOMAIN|K_NETADDR|K_USERINFO|K_SOURCE|K_MAILADDR|K_ADDRNAME|K_MAILADDRMAP, + K_ALIAS|K_CREDENTIALS|K_DOMAIN|K_NETADDR|K_USERINFO| + K_SOURCE|K_MAILADDR|K_ADDRNAME|K_MAILADDRMAP|K_RELAYHOST| + K_STRING|K_REGEX, table_db_config, NULL, NULL,