--- title: "Common parameter group settings" description: "The engine settings you are most likely to change on a MySQL, MariaDB, or PostgreSQL DBaaS instance, the parameter for each, and, where known, its default." content_type: "concept" product: "database" platform: "MyAccount" url: "/myaccount/parameter-group/concepts/common-parameter-group-settings/" --- # Common parameter group settings 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](/myaccount/parameter-group/how-to/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 | 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 | 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 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](/myaccount/database/how-to/import-a-database/). ## 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 | 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 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](/myaccount/database/how-to/install-a-postgresql-extension/). It installs in the `postgres` database, so connect to that database to read the statistics: ```sql SELECT calls, round(total_exec_time) AS total_ms, query FROM pg_stat_statements ORDER BY total_exec_time DESC LIMIT 10; ``` The query text shows for statements the admin user ran. Statements run by other roles show `` in place of their text, with their counts and times. ## 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](/myaccount/database/how-to/connect-to-a-database/).