Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Supported engines and versions

The six databases Exponential 6.0.x supports, in the project's official order, with the three version numbers that matter for each (the setup wizard's floor, the practical minimum of the current drivers and the versions…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/database-administrators/supported-engines-and-versions.md

On this page

Supported engines and versions

This page is for database administrators who must state, in a design document or a hosting offer, which database server versions an Exponential 6.0.x site may run on. It answers: which engines are supported, in which order the project recommends them, which version numbers are real requirements and which are only historical floors, and how well each engine is tested. The figures come from Database support, which was checked against the code and the continuous integration of the 6.0.15 line.

Contents

  1. The official order
  2. Three numbers per engine
  3. The version table
  4. PHP versions
  5. What the project tests
  6. Engines that are not supported
  7. How to state support in your own documents

The official order

Supported databases (Exponential 6.0.x), in order of preference: 1. SQLite 3 (the default) · 2. PostgreSQL · 3. MongoDB · 4. MariaDB · 5. Oracle · 6. MySQL. Microsoft SQL Server is known to be possible with additional work at this time.

All six have a driver in the kernel or in a shipped extension, an entry in the setup wizard and a path in the command-line installers. The order is a recommendation for new sites; it is not a ranking of quality. MySQL is last because the project recommends the others first, not because it works less well (Database support).

Three numbers per engine

  • Wizard floor: the oldest server version the setup wizard accepts, from eZSetupDatabaseMap() in kernel/setup/ezsetupcommon.php. It is kept from earlier releases so the wizard does not refuse an old server outright. It is not a recommendation.
  • Practical minimum: the oldest version the current drivers really need, because of a feature they use.
  • Seen working: the versions the project runs on its development server and in CI.

Plan with the practical minimum and a release your vendor still supports with security fixes.

The version table

EngineWizard floorPractical minimumWhySeen working
SQLite 33.0.13.33The driver rewrites UPDATE ... JOIN into UPDATE ... FROM (eZSQLite3DB::rewriteJoinedUpdate())library 3.34.1 in PHP 8.5
PostgreSQL8.013The installer creates pgcrypto, a trusted extension from 13 on; from 15 the site user must own the database13.23; 15 in CI
MongoDB4.06.0 server, PHP 8.2, extension mongodb 1.18Adapter requirements (MongoDB support)server 8.3.13, extension 2.3.3, PHP 8.5
MariaDB4.1.1 (the MySQL number)a supported release with utf8mb4 and InnoDB10.5.29
Oracle19.019cThe driver uses STANDARD_HASH and OFFSET/FETCH; 11g and older are not supported26ai Free (23.26), oci8 3.4.1
MySQL4.1.1a supported release with utf8mb4 and InnoDB8.0 in CI

Check what your servers run before an install:

php --ri sqlite3 | grep -i "library"      # SQLite library inside PHP
psql --version                             # PostgreSQL client; SELECT version(); on the server
mysql --version                            # MySQL or MariaDB client; SELECT VERSION(); on the server
mongosh --eval 'db.version()'              # MongoDB server

On a running site, Setup > System information, card Database, shows the engine and the server version (System information).

PHP versions

Exponential 6.0.x runs on PHP 8.0 to 8.5 (PHP 7.4 usable without support) (composer.json). The database drivers follow that range with one exception: the MongoDB adapter needs PHP 8.2 or later. Velocity, the recommended web server, needs PHP 8.1. For Oracle, PECL oci8 3.4 serves PHP 8.4 and 8.5 and oci8 3.2 serves PHP 8.1 to 8.3 (PHP extensions per engine).

What the project tests

EngineIn CIHow
SQLite 3driver unit testsPHPUnit on PHP 8.1 to 8.5, tests in tests/tests/lib/ezdb/
PostgreSQLdatabase testsjob "Database tests (postgresql, PHP 8.3)" with a postgres:15 service and pgcrypto
MongoDBadapter unit teststhe mongodb suite without a server; the mongodb-live group is excluded from CI
MariaDBnocovered indirectly by the MySQL job (same driver)
OraclenoOracle-specific kernel tests skip on other engines
MySQLdatabase testsjob "Database tests (mysql, PHP 8.3)" with a mysql:8.0 service

Source: .github/workflows/ as described in Database support. If your production engine is not tested in CI (MariaDB, Oracle), run the upgrade on a staging copy first and keep the restore tested (Restoring a database).

Engines that are not supported

  • Microsoft SQL Server: no driver, no schema handler, no installer entry in 6.0.x. It is known to be possible with additional work (Microsoft SQL Server: status for DBAs).
  • Any other engine (for example a cloud database that speaks neither of these protocols): not supported. Managed services that run one of the six engines (a managed PostgreSQL or MySQL) are the same engine to Exponential; check that they allow the privileges listed on Database accounts and privileges, and for PostgreSQL that pgcrypto can be created.

How to state support in your own documents

  1. Name the engine and a version at or above the practical minimum.
  2. Name the PHP extension and its version (pgsql, mysqli, sqlite3, mongodb 1.18+, oci8 3.2/3.4).
  3. Name the character set (UTF8, utf8mb4, AL32UTF8; see Character sets and collations).
  4. Say whether the engine is in the project's CI, and if not, what you test yourself.
  5. Link Database support as the project's own statement, and give the date you checked it.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x