{
  "id": "database_config",
  "title": "CRDB database config object",
  "url": "https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/objects/crdb/database_config/",
  "summary": "An object that represents the database configuration",
  "content": "\nAn object that represents the database configuration. This configuration object is used in two contexts within CRDB objects:\n\n- As `default_db_config` in the main [CRDB object]() for settings that apply to all instances. In most cases, instances should use the same configuration.\n\n- As `db_config` in individual [instance objects]() to override `default_db_config` or add configuration values for specific instances. Use `db_config` only when an instance needs different settings than the default configuration.\n\n| Name | Type/Value | Description |\n|------|------------|-------------|\n| aof_policy | **'appendfsync-every-sec'** \u003cbr /\u003e'appendfsync-always' | Policy for Append-Only File data persistence |\n| \u003cspan class=\"break-all\"\u003eauthentication_admin_pass\u003c/span\u003e | string | Administrative databases access token |\n| \u003cspan class=\"break-all\"\u003eauthentication_redis_pass\u003c/span\u003e | string | Redis AUTH password (deprecated as of Redis Enterprise v7.2, replaced with multiple passwords feature in version 6.0.X) |\n| bigstore | boolean (default: false) | Database driver is Auto Tiering |\n| bigstore_ram_size | integer (default: 0) | Memory size of RAM size |\n| data_persistence | 'disabled'\u003cbr /\u003e'snapshot'\u003cbr /\u003e**'aof'** | Database on-disk persistence policy. For snapshot persistence, a [snapshot_policy]() must be provided |\n| \u003cspan class=\"break-all\"\u003eenforce_client_authentication\u003c/span\u003e | **'enabled'** \u003cbr /\u003e'disabled' | Require authentication of client certificates for SSL connections to the database. If enabled, a certificate should be provided in either \u003cspan class=\"break-all\"\u003e`authentication_ssl_client_certs`\u003c/span\u003e or \u003cspan class=\"break-all\"\u003e`authentication_ssl_crdt_certs`\u003c/span\u003e |\n| max_aof_file_size | integer | Maximum AOF file size in bytes |\n| max_aof_load_time | integer (default: 3600) | Maximum AOF reload time in seconds |\n| memory_size | integer (default: 0) | Database memory size limit in bytes. 0 is unlimited. |\n| module_list | array of module objects | List of modules to be loaded to all participating clusters of the Active-Active database\u003cbr /\u003e[{\u003cbr /\u003e  \"module_id\": string,\u003cbr /\u003e  \"module_args\": string,\u003cbr /\u003e  \"module_name\": string,\u003cbr /\u003e  \"semantic_version\": string,\u003cbr /\u003e}, ...]\u003cbr /\u003e**module_id**: Module UID (deprecated; use `module_name` instead)\u003cbr /\u003e**module_args**: Module command-line arguments (pattern does not allow special characters \u0026,\\\u003c,\u003e,\")\u003cbr /\u003e**module_name**: Module's name\u003cbr /\u003e**semantic_version**: Module's semantic version (deprecated; use `module_args` instead)\u003cbr /\u003e\u003cbr /\u003e**module_id** and **semantic_version** are optional as of Redis Enterprise Software v7.4.2 and deprecated as of v7.8.2. |\n| oss_cluster | boolean (default: false) | Enables OSS Cluster mode |\n| \u003cspan class=\"break-all\"\u003eoss_cluster_api_preferred_ip_type\u003c/span\u003e | 'internal'\u003cbr /\u003e'external' | Indicates preferred IP type in OSS cluster API |\n| oss_sharding | boolean (default: false) | An alternative to `shard_key_regex` for using the common case of the OSS shard hashing policy |\n| port | integer | TCP port for database access |\n| proxy_policy | 'single'\u003cbr /\u003e'all-master-shards'\u003cbr /\u003e'all-nodes' | The policy used for proxy binding to the endpoint |\n| rack_aware | boolean (default: false) | Require the database to be always replicated across multiple racks |\n| replication | boolean (default: true) | Database replication |\n| sharding | boolean (default:\u0026nbsp;false) | Cluster mode (server-side sharding). When true, shard hashing rules must be provided by either `oss_sharding` or `shard_key_regex` |\n| shard_key_regex | `[{ \"regex\": string }, ...]` | Custom keyname-based sharding rules (required if sharding is enabled)\u003cbr /\u003e\u003cbr /\u003eTo use the default rules you should set the value to:\u003cbr /\u003e`[{\"regex\": \".*\\\\{(?\u003ctag\u003e.*)\\\\}.*\"}, {\"regex\": \"(?\u003ctag\u003e.*)\"}]` |\n| shards_count | integer (range: 1-512) (default: 1) | Number of database shards |\n| shards_placement | 'dense'\u003cbr /\u003e'sparse' | Control the density of shards\u003cbr /\u003eValues:\u003cbr /\u003e**'dense'**: Shards reside on as few nodes as possible \u003cbr /\u003e **'sparse'**: Shards reside on as many nodes as possible |\n| snapshot_policy | array of [snapshot_policy]() objects | Policy for snapshot-based data persistence. A dataset snapshot will be taken every N secs if there are at least M writes changes in the dataset. |\n| tls_mode | 'enabled'\u003cbr /\u003e **'disabled'** \u003cbr /\u003e'replica_ssl' | Encrypt communication |\n",
  "tags": ["docs","operate","rs"],
  "last_updated": "2026-04-01T08:10:08-05:00"
}

