Skip to main content

config

Overview

Nameconfig
TypeResource
Iddigitalocean.databases.config

Fields

NameDatatypeDescription
autovacuum_analyze_scale_factornumberSpecifies a fraction, in a decimal value, of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size).
autovacuum_analyze_thresholdintegerSpecifies the minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples.
autovacuum_freeze_max_ageintegerSpecifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted.
autovacuum_max_workersintegerSpecifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start.
autovacuum_naptimeintegerSpecifies the minimum delay, in seconds, between autovacuum runs on any given database. The default is one minute.
autovacuum_vacuum_cost_delayintegerSpecifies the cost delay value, in milliseconds, that will be used in automatic VACUUM operations. If -1, uses the regular vacuum_cost_delay value, which is 20 milliseconds.
autovacuum_vacuum_cost_limitintegerSpecifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used.
autovacuum_vacuum_scale_factornumberSpecifies a fraction, in a decimal value, of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size).
autovacuum_vacuum_thresholdintegerSpecifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples.
backup_hourintegerThe hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed.
backup_minuteintegerThe minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed.
bgwriter_delayintegerSpecifies the delay, in milliseconds, between activity rounds for the background writer. Default is 200 ms.
bgwriter_flush_afterintegerThe amount of kilobytes that need to be written by the background writer before attempting to force the OS to issue these writes to underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback.
bgwriter_lru_maxpagesintegerThe maximum number of buffers that the background writer can write. Setting this to zero disables background writing. Default is 100.
bgwriter_lru_multipliernumberThe average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0.
binlog_retention_periodnumberThe minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector.
connect_timeoutintegerThe number of seconds that the mysqld server waits for a connect packet before responding with bad handshake.
deadlock_timeoutintegerThe amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition.
default_time_zonestringDefault server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or 'SYSTEM' to use the MySQL server default.
default_toast_compressionstringSpecifies the default TOAST compression method for values of compressible columns (the default is lz4).
group_concat_max_lenintegerThe maximum permitted result length, in bytes, for the GROUP_CONCAT() function.
idle_in_transaction_session_timeoutintegerTime out sessions with open transactions after this number of milliseconds
information_schema_stats_expiryintegerThe time, in seconds, before cached statistics expire.
innodb_ft_min_token_sizeintegerThe minimum length of words that an InnoDB FULLTEXT index stores.
innodb_ft_server_stopword_tablestringThe InnoDB FULLTEXT index stopword list for all InnoDB tables.
innodb_lock_wait_timeoutintegerThe time, in seconds, that an InnoDB transaction waits for a row lock. before giving up.
innodb_log_buffer_sizeintegerThe size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk.
innodb_online_alter_log_max_sizeintegerThe upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables.
innodb_print_all_deadlocksbooleanWhen enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default.
innodb_rollback_on_timeoutbooleanWhen enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction.
interactive_timeoutintegerThe time, in seconds, the server waits for activity on an interactive. connection before closing it.
internal_tmp_mem_storage_enginestringThe storage engine for in-memory internal temporary tables.
jitbooleanActivates, in a boolean, the system-wide use of Just-in-Time Compilation (JIT).
log_autovacuum_min_durationintegerCauses each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions.
log_error_verbositystringControls the amount of detail written in the server log for each message that is logged.
log_line_prefixstringSelects one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze, etc.
log_min_duration_statementintegerLog statements that take more than this number of milliseconds to run. If -1, disables.
long_query_timenumberThe time, in seconds, for a query to take to execute before being captured by slow_query_logs. Default is 10 seconds.
max_allowed_packetintegerThe size of the largest message, in bytes, that can be received by the server. Default is 67108864 (64M).
max_files_per_processintegerPostgreSQL maximum number of files that can be open per process.
max_heap_table_sizeintegerThe maximum size, in bytes, of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M)
max_locks_per_transactionintegerPostgreSQL maximum locks per transaction. Once increased, this parameter cannot be lowered from its set value.
max_logical_replication_workersintegerPostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers).
max_parallel_workersintegerSets the maximum number of workers that the system can support for parallel queries.
max_parallel_workers_per_gatherintegerSets the maximum number of workers that can be started by a single Gather or Gather Merge node.
max_pred_locks_per_transactionintegerPostgreSQL maximum predicate locks per transaction.
max_prepared_transactionsintegerPostgreSQL maximum prepared transactions. Once increased, this parameter cannot be lowered from its set value.
max_replication_slotsintegerPostgreSQL maximum replication slots.
max_stack_depthintegerMaximum depth of the stack in bytes.
max_standby_archive_delayintegerMax standby archive delay in milliseconds.
max_standby_streaming_delayintegerMax standby streaming delay in milliseconds.
max_wal_sendersintegerPostgreSQL maximum WAL senders. Once increased, this parameter cannot be lowered from its set value.
max_worker_processesintegerSets the maximum number of background processes that the system can support. Once increased, this parameter cannot be lowered from its set value.
net_read_timeoutintegerThe time, in seconds, to wait for more data from an existing connection. aborting the read.
net_write_timeoutintegerThe number of seconds to wait for a block to be written to a connection before aborting the write.
pg_partman_bgw.intervalintegerSets the time interval to run pg_partman's scheduled tasks.
pg_partman_bgw.rolestringControls which role to use for pg_partman's scheduled background tasks. Must consist of alpha-numeric characters, dots, underscores, or dashes. May not start with dash or dot. Maximum of 64 characters.
pg_stat_statements.trackstringControls which statements are counted. Specify 'top' to track top-level statements (those issued directly by clients), 'all' to also track nested statements (such as statements invoked within functions), or 'none' to disable statement statistics collection. The default value is top.
pgbouncerobjectPGBouncer connection pooling settings
postgres_backup_hourintegerThe hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed.
postgres_backup_minuteintegerThe minute of the backup hour when backup for the service starts. New backup is only started if previous backup has already completed.
redis_acl_channels_defaultstringDetermines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default.
redis_io_threadsintegerRedis IO thread count
redis_lfu_decay_timeintegerLFU maxmemory-policy counter decay time in minutes
redis_lfu_log_factorintegerCounter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies
redis_maxmemory_policystringA string specifying the desired eviction policy for the Redis cluster.

- noeviction: Don't evict any data, returns error when memory limit is reached.
- allkeys_lru: Evict any key, least recently used (LRU) first.
- allkeys_random: Evict keys in a random order.
- volatile_lru: Evict keys with expiration only, least recently used (LRU) first.
- volatile_random: Evict keys with expiration only in a random order.
- volatile_ttl: Evict keys with expiration only, shortest time-to-live (TTL) first.
redis_notify_keyspace_eventsstringSet notify-keyspace-events option
redis_number_of_databasesintegerSet number of redis databases. Changing this will cause a restart of redis service.
redis_persistencestringWhen persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
redis_pubsub_client_output_buffer_limitintegerSet output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
redis_sslbooleanRequire SSL to access Redis
redis_timeoutintegerRedis idle connection timeout in seconds
shared_buffers_percentagenumberPercentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value.
slow_query_logbooleanWhen enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false.
sort_buffer_sizeintegerThe sort buffer size, in bytes, for ORDER BY optimization. Default is 262144. (256K).
sql_modestringGlobal SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas.
sql_require_primary_keybooleanRequire primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them.
stat_monitor_enablebooleanEnable the pg_stat_monitor extension. <b>Enabling this extension will cause the cluster to be restarted.</b> When this extension is enabled, pg_stat_statements results for utility commands are unreliable.
synchronous_replicationstringSynchronous replication type. Note that the service plan also needs to support synchronous replication.
temp_file_limitintegerPostgreSQL temporary file limit in KiB. If -1, sets to unlimited.
timescaledbobjectTimescaleDB extension configuration values
timezonestringPostgreSQL service timezone
tmp_table_sizeintegerThe maximum size, in bytes, of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M).
track_activity_query_sizeintegerSpecifies the number of bytes reserved to track the currently executing command for each active session.
track_commit_timestampstringRecord commit time of transactions.
track_functionsstringEnables tracking of function call counts and time used.
track_io_timingstringEnables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.
wait_timeoutintegerThe number of seconds the server waits for activity on a noninteractive connection before closing it.
wal_sender_timeoutintegerTerminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Must be either 0 or between 5000 and 10800000.
wal_writer_delayintegerWAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance
work_memintegerThe maximum amount of memory, in MB, used by a query operation (such as a sort or hash table) before writing to temporary disk files. Default is 1MB + 0.075% of total RAM (up to 32MB).

Methods

NameAccessible byRequired ParamsDescription
get_configSELECTdatabase_cluster_uuidShows configuration parameters for an existing database cluster by sending a GET request to
/v2/databases/$DATABASE_ID/config.
The response is a JSON object with a config key, which is set to an object
containing any database configuration parameters.
_get_configEXECdatabase_cluster_uuidShows configuration parameters for an existing database cluster by sending a GET request to
/v2/databases/$DATABASE_ID/config.
The response is a JSON object with a config key, which is set to an object
containing any database configuration parameters.
patch_configEXECdatabase_cluster_uuidTo update the configuration for an existing database cluster, send a PATCH request to
/v2/databases/$DATABASE_ID/config.