These are the engine settings you are most likely to change, and the parameter that sets each one. Set a value in a parameter group for the engine and version your DBaaS instance runs, and attach the group; attaching applies its values to the primary. After you change the values of a group that is already attached, click Sync All; each DBaaS instance restarts and picks up the new values. See Create and edit a parameter group.
The parameters and defaults below are those of MySQL 8.0, MariaDB 10.11, and PostgreSQL 18 on the DBS.16GB plan (16 GB RAM, 4 vCPU). Some defaults may differ on other plans. A sync applies the connection limit, the time zone on MySQL and MariaDB, max_statement_time on MariaDB, work_mem on PostgreSQL, and log_bin_trust_function_creators.
Connections
Section titled “Connections”| What it changes | MySQL and MariaDB | PostgreSQL |
|---|---|---|
| Clients that can connect at once | max_connections (151) | max_connections (100, of which 97 for users) |
| Failed connections before an address is blocked | max_connect_errors (100) | - |
| Close a connection that sits idle | wait_timeout (28,800 seconds) | idle_session_timeout (milliseconds; off) |
| Close a session idle inside a transaction | idle_transaction_timeout, on MariaDB | idle_in_transaction_session_timeout (milliseconds; off) |
Each connection uses memory on the DBaaS instance, so raise the connection limit in steps and watch memory on the Monitoring tab. When an address is blocked after failed connections, fix the cause of the failed connections first, then raise max_connect_errors if the application retries often.
Time zone
Section titled “Time zone”| Engine | Parameter | Default |
|---|---|---|
| MySQL and MariaDB | time_zone | SYSTEM, which runs on India Standard Time |
| PostgreSQL | TimeZone | Asia/Kolkata |
On MySQL and MariaDB, choose a zone from time_zone’s list, such as UTC; India is listed as Asia/kolkata on MySQL and as Asia/Calcutta on MariaDB. A PostgreSQL DBaaS instance runs on Asia/Kolkata and keeps it when you attach a group, even though the group shows UTC as its default.
Triggers and stored functions
Section titled “Triggers and stored functions”On MySQL and MariaDB, set log_bin_trust_function_creators to 1 so that the admin user can create triggers and stored functions, and so that a dump with triggers imports; see Import a database into a DBaaS instance.
Memory
Section titled “Memory”| Engine | Parameter | Default | Guidance from the Edit Parameters page |
|---|---|---|---|
| MySQL | innodb_buffer_pool_size | 10 GB | 70% to 80% of total RAM |
| MariaDB | innodb_buffer_pool_size | 256 MB | - |
| PostgreSQL | shared_buffers | 128 MB | 25% to 40% of total RAM |
| PostgreSQL | work_mem | 4 MB | - |
On MariaDB, the buffer pool starts at 256 MB of the plan’s 16 GB, so it is the first setting to raise when the DBaaS instance needs more memory for caching. On PostgreSQL, each sort or hash in a query can use work_mem, and many connections can run them at once, so raise it in small steps.
Slow and long queries
Section titled “Slow and long queries”| What it changes | MySQL and MariaDB | PostgreSQL |
|---|---|---|
| Log queries slower than | long_query_time (2 seconds) | log_min_duration_statement (2,000 ms) |
| Stop a query that runs longer than | max_statement_time, on MariaDB (seconds) | statement_timeout (milliseconds; off) |
| Largest single statement or row | max_allowed_packet (64 MB, up to 1 GB) | - |
Query statistics on PostgreSQL
Section titled “Query statistics on PostgreSQL”To see which queries run most often and take longest, install pg_stat_statements from the DBaaS
instance’s Extensions tab; see
Install a PostgreSQL extension. It
installs in the postgres database, so connect to that database to read the statistics:
SELECT calls, round(total_exec_time) AS total_ms, queryFROM pg_stat_statementsORDER BY total_exec_time DESCLIMIT 10;The query text shows for statements the admin user ran. Statements run by other roles show
<insufficient privilege> in place of their text, with their counts and times.
Settings that stay the same
Section titled “Settings that stay the same”- Table names are case-sensitive on MySQL and MariaDB, so write each table name with its exact case in your queries.
- Every connection uses SSL; see Connect to a DBaaS instance.