Supported Databases
- PostgreSQL 11+ (Recommended for production)
- MySQL 5.7+ / MariaDB 10.2+
- SQLite (Development only - not for production)
- MongoDB (via plugin)
PostgreSQL Setup
Installation
Ubuntu/Debian
Docker
Database Creation
Connection Configuration
Inconfig.yaml:
Connection URI Format
PostgreSQL Optimization
For production workloads:MySQL Setup
Installation
Ubuntu/Debian
Docker
Database Creation
Connection Configuration
Inconfig.yaml:
Connection URI Format
MySQL Optimization
MongoDB Setup
MongoDB support requires a separate plugin. Contact SuperTokens for enterprise MongoDB support.
Installation
Connection Configuration
SQLite (Development Only)
SQLite is automatically used when no database connection is specified:.started directory in installation folder
Connection Pool Configuration
SuperTokens manages database connections automatically. For high-traffic scenarios:Database Migrations
Automatic Migrations
SuperTokens automatically creates and migrates database schema on startup. No manual migration is needed. Migration process:- SuperTokens checks the current schema version
- Applies any pending migrations automatically
- Logs migration progress
Manual Migration Scripts
For controlled migrations in production:Schema Version Tracking
SuperTokens tracks schema versions in thest_schema_version table:
High Availability Setup
PostgreSQL HA
Option 1: PostgreSQL Streaming Replication- AWS RDS PostgreSQL with Multi-AZ
- Google Cloud SQL
- Azure Database for PostgreSQL
MySQL HA
Option 1: MySQL Group Replication- AWS RDS MySQL with Multi-AZ
- Google Cloud SQL
- Azure Database for MySQL
Backup and Recovery
PostgreSQL Backup
Full database backup:MySQL Backup
Full database backup:Cloud Database Providers
AWS RDS
Google Cloud SQL
Azure Database
DigitalOcean Managed Databases
Troubleshooting
Connection Issues
Test database connectivity:- Connection refused: Check if database is running and firewall allows connections
- Authentication failed: Verify username and password
- Database does not exist: Create the database first
- SSL errors: Check SSL configuration and certificates
Performance Issues
Check slow queries:Migration Failures
If automatic migration fails:- Check SuperTokens error logs
- Verify database user has sufficient privileges
- Ensure database is accessible
- Apply migrations manually from
migration_scripts/
Security Best Practices
- Use strong passwords: Minimum 16 characters, mixed case, numbers, symbols
- Enable SSL/TLS: Always encrypt database connections
- Restrict network access: Use firewall rules to limit database access
- Regular backups: Automate daily backups with retention policy
- Principle of least privilege: Grant only necessary permissions
- Monitor access logs: Track database access and queries
- Keep databases updated: Apply security patches regularly