Skip to the content
Documentation

[DatabaseSettings]

No ratings yet
Setting Summary
CleanSQL Sets the file name for the CleanSQL file.
CleanSQLData Sets the file name for the CleanSQLData file.
DefaultName Sets the default database name.
DefaultPassword Sets the default database password.
DefaultPort Sets the default port name.
DefaultServer Sets the default server name.
DefaultUser Sets the default database user name.
DemoSQL Sets the file name for the DemoSQL file.
DemoSQLData Sets the file name for the DemoSQLData file.
SQLSchema Sets the file name for the SQLSchema file.

Changed in Exponential 6.0.15

Settings of this group in the settings files of Exponential 6.0.15 that this page does not describe:

Setting File Default Description
DefaultType settings/setup.ini sqlite3 The database system the setup wizard lists first and preselects. One of sqlite3, mysqli, pgsql, mongodb. SQLite needs no database server; when the PHP sqlite3 extension is missing the wizard falls back to the first available system and says so.
DefaultPort_pgsql settings/setup.ini 5432 Default<Setting>_<type> replaces the value above on the database page for that system: a PostgreSQL server has no user root and listens on 5432.
DefaultUser_pgsql settings/setup.ini postgres  
SQLitePragmas settings/site.ini (empty) SQLite (DatabaseImplementation=sqlite3) only: the connection's PRAGMAs, one per line as name=value, over the driver's defaults: synchronous=NORMAL with WAL still crash-safe; FULL synced every commit cache_size=-65536 64 MB page cache (SQLite's default is 2 MB) mmap_size=268435456 read the file through 256 MB of mapped memory temp_store=MEMORY sorts and temporary tables in memory busy_timeout SQLiteBusyTimeout / SQLiteCLIBusyTimeout below; a busy_timeout=<ms> line here still wins over both Run php bin/php/ezexec.php on an ANALYZE script (or sqlite3 <file> ANALYZE) after an install, so the query planner has statistics.
SQLiteTransactionWait settings/site.ini 25 SQLite only: how many seconds a transaction (a publish, a save) waits at its start for the other writers ahead of it, queued on <database>.writer-lock next to the database file, before it gives up. Waiting there is safe: the transaction has written nothing yet, and once it has started it cannot fail for a lock. Keep it below the web server's request timeout, or the request is killed before the driver can report "database is busy": Velocity ends a request after its engine setting Q.webserver.requestTimeout, 30 s unless changed (the client gets a 504), hence 25 here; under PHP-FPM the limit is the pool's request_terminate_timeout. Raise both together.
SQLiteCLITransactionWait settings/site.ini 300 SQLite only: the same wait on the command line (cronjobs, imports, scripts), in seconds. Nobody waits for a page there, so a cronjob waits for a long import's writes instead of stopping with "A database transaction in Exponential failed".
SQLiteBusyTimeout settings/site.ini 5000 SQLite only: how many milliseconds a single statement outside a transaction (an INSERT of a link, an UPDATE of a cronjob) waits for another write to end before it fails with "database is busy: the statement waited N s". It queues on the same <database>.writer-lock as a transaction, and a lock SQLite reports at once is tried again within this time. SQLiteBusyTimeout applies to web requests (PHP-FPM, Velocity), SQLiteCLIBusyTimeout to the command line.
SQLiteCLIBusyTimeout settings/site.ini 30000  
DatabaseImplementation settings/site.ini ezmysqli  
Server settings/site.ini localhost  
Port settings/site.ini (empty)  
User settings/site.ini root  
Password settings/site.ini (empty)  
Database settings/site.ini nextgen  
UseSlaveServer settings/site.ini disabled Enable slave servers The slave servers will only be used for read queries Useful for load balanced environments
ConnectRetries settings/site.ini 0 SlaveServerArray[]=localhost SlaveServerPort[]= SlaverServerUser[]=nextgen SlaverServerPassword[]=nextgen SlaverServerDatabase[]=nextgen The number of times to reconnect if the first fails
Charset settings/site.ini utf-8 The charset to use for the database connection If left empty the charset set in i18n.ini will be used, which is often the most reasonable setting.
UseBuiltinEncoding settings/site.ini true Use charset conversion routines in DB if possible
Socket settings/site.ini disabled  
QueryAnalysisOutput settings/site.ini disabled This controls if the queries should have an analysis done for the debug output (Requires SQLOutput=enabled) NOTE: Currently this only works for MySQL.
SQLOutput settings/site.ini disabled  
SlowQueriesOutput settings/site.ini 0 When this setting is larger than 0 the Queries would only be shown in the SQLOutput if the execution time took more than <setting> miliseconds.
DebugTransactions settings/site.ini disabled If enabled the system will store stack traces for all begin/commits in the system. When an unbalanced nested transactions are detected it will output all begin/commits with information on where it occured as a deep tree. This tree can be used to debug the code and find the missing commit.
ImplementationAlias settings/site.ini mysql=eZMySQLiDB; mysqli=eZMySQLiDB; postgresql=eZPostgreSQLDB; ezmysql=eZMySQLiDB; ezmysqli=eZMySQLiDB; ezpostgresql=eZPostgreSQLDB; pgsql=eZPostgreSQLDB; sqlite3=eZSQLite3DB; mongodb=expMongoDB Alias for implementations
UsePersistentConnection settings/site.ini disabled  
Transactions settings/site.ini enabled Use transactions to ensure that integrity of a database is maintained. MySQL needs transaction safe-tables like the InnoDB table handler.

In this section

Contributors

Comments

Add a comment

Comments are read by a moderator before they appear.