Database Selection
Choose the right database for your JFrog Platform deployment based on product scope, HA requirements, and migration constraints.
Choose the right database for your JFrog Platform deployment based on product scope, HA requirements, and migration constraints.
When To Use This Page
Use this page when deciding database strategy before installation, HA design, or adding products.
Recommendation
PostgreSQL For All New Deployments
PostgreSQL is the recommended database for all new JFrog Platform deployments. JFrog Cloud runs on PostgreSQL, and new features and performance optimizations are developed and tested against PostgreSQL first.
Quick Decision
- Choose PostgreSQL for all new deployments.
- Keep a non-PostgreSQL database only for existing Artifactory-only environments with clear migration constraints.
- If you plan to use Xray, Distribution, or Catalog, PostgreSQL is required.
Product Compatibility Snapshot
- PostgreSQL supports Artifactory, Xray, Distribution, and Catalog.
- Non-PostgreSQL engines (Oracle, MySQL, MariaDB, MS SQL Server) support Artifactory only.
Engine Comparison
| PostgreSQL | Oracle | MySQL | MariaDB | MS SQL Server | |
|---|---|---|---|---|---|
| Recommended | Yes | No | No | No | No |
| New installs | Default | Requires allowNonPostgresql: true | Requires allowNonPostgresql: true | Requires allowNonPostgresql: true | Requires allowNonPostgresql: true |
| Xray support | Yes | No | No | No | No |
| Distribution support | Yes | No | No | No | No |
| Catalog support | Yes | No | No | No | No |
| HA support | Full (managed services with failover) | Manual | Manual | Manual | Manual |
| Managed cloud options | AWS RDS, Azure Flexible Server, GCP Cloud SQL | AWS RDS, self-managed | AWS RDS, self-managed | Self-managed | AWS RDS, Azure SQL |
| JFrog Cloud | Yes (production-proven) | No | No | No | No |
When To Use PostgreSQL
All new installations should use PostgreSQL. Key benefits:
- Single database for all products — Artifactory, Xray, Distribution, and Catalog all use PostgreSQL. No need to manage multiple database engines.
- Performance optimizations — JFrog continuously optimizes for PostgreSQL. Features like advisory locks and streaming replication are PostgreSQL-specific.
- Managed service support — AWS RDS, Azure Database for PostgreSQL, and GCP Cloud SQL provide built-in HA, automated backups, and scaling.
- Proven at scale — PostgreSQL powers JFrog Cloud, serving thousands of customers in production.
When A Non-PostgreSQL Database Is Acceptable
You may keep your current database if all of the following are true:
- You have an existing installation running on Oracle, MySQL, MariaDB, or MS SQL Server that is working and stable.
- You have organizational constraints (licensing, compliance, DBA expertise) that prevent adopting PostgreSQL now.
- You plan to migrate to PostgreSQL later as part of a scheduled maintenance window.
Non-PostgreSQL Limitations
Only Artifactory supports non-PostgreSQL databases. Xray, Distribution, and Catalog require PostgreSQL. If you plan to use any of these products, you need PostgreSQL regardless.
New Installations With Non-PostgreSQL
Starting with Artifactory 7.84, new installations using a non-PostgreSQL database require an explicit opt-in. Add the following to $JFROG_HOME/var/etc/system.yaml before starting Artifactory:
shared:
database:
allowNonPostgresql: trueMigrating To PostgreSQL
For existing installations on a non-PostgreSQL database, the most common migration method is System Import and Export.
Large-Environment Migration Planning
For large environments, contact JFrog Support to plan a migration strategy tailored to your ecosystem.
Supported Versions
| Database | Minimum Version | Recommended |
|---|---|---|
| PostgreSQL | 13.x | 15.x – 17.x |
| Oracle | 19c | 19c+ (Artifactory only) |
| MySQL | 8.0 | 8.0+ (Artifactory only) |
| MariaDB | 10.5 | 10.5+ (Artifactory only) |
| MS SQL Server | 2019 | 2019+ (Artifactory only) |
For detailed version compatibility by product, see Database Requirements.
Next Steps
- Plan storage backend choices in Filestore Selection
- Continue production prerequisites in Installing for Production
Updated 2 days ago
