Skip to main content
storage/postgres (pgx) and storage/mysql (database/sql) implement the same optional capabilities as the memory and SQLite adapters, so tokens, device login, session management and closed signup work on either database.

What they cover

Existing deployments pick the new tables and sessions columns up by running Migrate again: both adapters ship 0018_capabilities.up.sql, which is forward-only and idempotent through the theauth_schema_migrations ledger.

Atomic claims

Single-use grants must have exactly one winner under contention. MySQL reports changed rows rather than matched rows unless the DSN sets clientFoundRows=true. The adapter works with either setting: idempotent updates fall back to an existence check when zero rows change.

Wire the login throttle

Run the contract suites

Both adapters run the shared suites only when a database is configured.
Last modified on October 7, 2026