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

PostgreSQLOracleMySQLMariaDBMS SQL Server
RecommendedYesNoNoNoNo
New installsDefaultRequires allowNonPostgresql: trueRequires allowNonPostgresql: trueRequires allowNonPostgresql: trueRequires allowNonPostgresql: true
Xray supportYesNoNoNoNo
Distribution supportYesNoNoNoNo
Catalog supportYesNoNoNoNo
HA supportFull (managed services with failover)ManualManualManualManual
Managed cloud optionsAWS RDS, Azure Flexible Server, GCP Cloud SQLAWS RDS, self-managedAWS RDS, self-managedSelf-managedAWS RDS, Azure SQL
JFrog CloudYes (production-proven)NoNoNoNo

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: true

Migrating 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

DatabaseMinimum VersionRecommended
PostgreSQL13.x15.x – 17.x
Oracle19c19c+ (Artifactory only)
MySQL8.08.0+ (Artifactory only)
MariaDB10.510.5+ (Artifactory only)
MS SQL Server20192019+ (Artifactory only)

For detailed version compatibility by product, see Database Requirements.

Next Steps