Database administration
Database administration for Exponential: the supported databases, schema, upgrades, backups and performance.
49 pages
- Database administrators: start here Where database administrators start with Exponential. The six supported engines in one paragraph, a first fifteen minutes, the rules every DBA keeps, and a map of every page for database administrators, from engine…
- The database layer in one page How Exponential reaches its database, explained for database administrators - the eZDB entry point, the driver aliases, the five driver classes, the schema handlers, what is stored in the database and what is not, and…
- 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…
- Choosing an engine A decision guide for database administrators - which of the six supported databases fits a given Exponential site, from one machine with SQLite to several web servers on PostgreSQL, MariaDB or MySQL, and when MongoDB or…
- PHP extensions per engine Which PHP extension each database needs (sqlite3, pgsql, mongodb with its Composer library, mysqli, oci8), where it comes from on the common Linux families, how the setup wizard checks it, and how to confirm that the…
- The DatabaseSettings reference Every key of site.ini [DatabaseSettings] with its shipped default, the engines that read it and what it does - connection, character set, retries, persistent connections, replicas, transactions, debug output and the…
- Reading and changing database settings How to read the database settings an Exponential site really uses, find the file each value comes from, change them safely in the override files with exp:ini, and make every process (PHP-FPM, Velocity workers, cronjobs)…
- SQLite 3 for database administrators What a database administrator needs to know about SQLite 3, the default database of Exponential 6.0.x - what the eZSQLite3DB driver adds to the library, the four files of a database, the connection PRAGMAs and why each…
- SQLite: the write queue and locking How the SQLite driver of Exponential 6.0.15 queues concurrent writers with a lock file and BEGIN IMMEDIATE, how long a transaction waits (SQLiteTransactionWait) and how that relates to Velocity's and PHP-FPM's request…
- SQLite maintenance: ANALYZE, VACUUM and the WAL file The routine maintenance of an Exponential SQLite database - statistics with ANALYZE and PRAGMA optimize, compaction with VACUUM in maintenance mode, keeping the WAL file in check with journal_size_limit and a TRUNCATE…
- SQLite files, ownership and permissions The four files of an Exponential SQLite database, which process must be able to write which file, how to set up one common group with the setgid bit and a umask of 0002 so that PHP-FPM, Velocity, cronjobs and console…
- Setting up PostgreSQL How to prepare PostgreSQL for an Exponential site - the user and a UTF8 database it owns, the pgcrypto extension the driver needs for MD5, the settings block, the installers, and the server-side settings…
- Operating PostgreSQL: sequences, case and gotchas Day-to-day knowledge for running Exponential on PostgreSQL - how auto-increment columns map to sequences named table_column_seq, how to correct them after loading data, the sequence rename that sites from 5.x need…
- Setting up MySQL and MariaDB How to prepare MySQL or MariaDB for an Exponential site - a utf8mb4 database, an account with per-database privileges only, the settings block with host, port or socket, the console install, and what differs between…
- MySQL and MariaDB: utf8mb4, the connection charset and InnoDB The character set and storage engine details of Exponential on MySQL and MariaDB - why the database should be utf8mb4 while the connection uses utf8 (utf8mb3), what the charset warning means and how to see it…
- MySQL and MariaDB read replicas How Exponential sends read queries to MySQL or MariaDB replicas with UseSlaveServer and the SlaveServer and SlaverServer keys, how a replica is chosen, what replication lag means for editors and visitors, and what the…
- Setting up MongoDB How to prepare MongoDB for an Exponential site - the requirements, a user created in the site's own database with readWrite and dbAdmin, why a user is required even without access control, the settings block, the…
- MongoDB: limits and operations What the MongoDB adapter of Exponential cannot do yet, how to find untranslated SQL in the logs, how upgrades work without SQL update files, backups with mongodump, the migration scripts in bin/mongodb, and what to…
- Setting up Oracle with ezoracle How to prepare Oracle Database for an Exponential site with the ezoracle extension - requirements (19c or later, AL32UTF8, oci8 and an Oracle client), the grants printed by ora-grant.php, the connect string forms, the…
- Oracle: persistent connections, DRCP and tuning The connection and performance settings of the ezoracle extension - persistent connections, Database Resident Connection Pooling, keep-alive for long-running workers, failover over several listeners, retries and call…
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