Configuration Parameters
This document lists the configuration parameters (GUC) of Apache Cloudberry database in alphabetical order.
autovacuum_freeze_max_age
- Variable Type: Integer
- Default Value: 200000000
- Value Range: [100000,2000000000]
- Setting Category: postmaster
- Description: Sets the "maximum age" of transaction IDs in a table. When the number of transactions accumulated since the transaction ID was allocated reaches this value, the system automatically performs autovacuum on the table to prevent transaction ID wraparound. This operation is enforced even if autovacuum is disabled to ensure data safety.
autovacuum_vacuum_cost_delay
- Variable Type: Real
- Default Value: 2
- Unit: ms
- Value Range: [-1,100]
- Setting Category: sighup
- Description: Sets the vacuum cost delay time (in milliseconds) for autovacuum operations.
autovacuum_vacuum_scale_factor
- Variable Type: Real
- Default Value: 0.2
- Value Range: [0,100]
- Setting Category: sighup
- Description: Controls the threshold ratio of updated or deleted tuples to total tuples before autovacuum is performed.
autovacuum_vacuum_threshold
- Variable Type: Integer
- Default Value: 50
- Value Range: [0,2147483647]
- Setting Category: sighup
- Description: Controls the minimum number of updated or deleted tuples required to trigger autovacuum.
checkpoint_timeout
-
Value Range: 30 - 86400 (integer, in seconds)
-
Default Value: 300 (5 minutes)
-
Setting Category: local, system, reload
-
Description: Specifies the maximum time interval between automatic WAL checkpoints.
If no unit is specified when setting this parameter, the system defaults to seconds. The allowed range is 30 seconds to 1 day. The default value is 5 minutes (300 seconds or 5min). Increasing this parameter's value will increase the time required for crash recovery.
gp_appendonly_compaction_segfile_limit
- Variable Type: Integer
- Default Value: 10
- Value Range: [0,127]
- Setting Category: user
- Description: Sets the minimum number of append-only segfiles that must be reserved for insert operations.
gp_autostats_lock_wait
- Variable Type: Bool
- Default Value: off
- Setting Category: user
- Description: Controls whether autostats automatically generated
ANALYZEwaits for lock acquisition.
gp_command_count
- Variable Type: Integer
- Default Value: 0
- Value Range: [0,2147483647]
- Setting Category: internal
- Description: Displays the number of commands sent by the client in the current session.
gp_dynamic_partition_pruning
- Parameter Type: Boolean
- Default Value: on
- Setting Category: coordinator, session, reload
- Description: Enables execution plans that can dynamically eliminate partition scans.
gp_enable_runtime_filter_pushdown
- Value Range: Boolean
- Default Value: off
- Setting Category: user
- Description: Attempts to push down the hash table of hash join as a bloom filter to sequential scan or access methods (AM).
gp_enable_statement_trigger
- Variable Type: Bool
- Default Value: off
- Setting Category: user
- Description: Allows creation of statement-level triggers.
gp_max_partition_level
- Variable Type: Integer
- Default Value: 0
- Value Range: [0,2147483647]
- Setting Category: superuser
- Description: Sets the maximum allowed partition level when creating partitioned tables using classic syntax.
gp_resource_manager
- Value Range: none, group, group-v2, queue
- Default Value: none
- Setting Category: local, system, restart
- Description: Specifies the resource management scheme currently enabled in the Apache Cloudberry database cluster.
none: No resource manager is used (default).group: Uses resource groups and enables resource group behavior based on Linux cgroup v1 functionality.group-v2: Uses resource groups and enables resource group behavior based on Linux cgroup v2 functionality.queue: Uses resource queues for resource management.
gp_role
-
Value Range: dispatch, execute, utility
-
Default Value: Undefined (depends on process type)
-
Setting Category: read only (automatically set in background)
-
Description: This parameter is used to identify the role of the current server process.
The role of the Coordinator process is
dispatch, indicating it is responsible for query dispatch. The role of the Segment process isexecute, indicating it is responsible for executing query plans.utilityis used for special maintenance or management sessions. This parameter is automatically set by the system in the background and is mainly used to identify different types of internal worker processes.
gp_session_id
- Variable Type: Integer
- Default Value: -1
- Value Range: [-2147483648,2147483647]
- Setting Category: backend
- Description: Used to uniquely identify a session in the Apache Cloudberry cluster.
krb_server_keyfile
- Variable Type: string
- Default Value:
<FILE:/workspace/dist/database/etc/postgresql/krb5.keytab> - Setting Category: sighup
- Description: Sets the location of the Kerberos server key file.
log_checkpoints
- Value Range: Boolean
- Default Value: on
- Setting Category: local, system, reload
- Description: Writes checkpoint and restartpoint information to the server log. The log messages include statistics such as the number of buffers written and the time taken to write them.
max_connections
-
Value Range: 10 - 262143
-
Default Value: 250 on Coordinator, 750 on Segment
-
Setting Category: local, system, restart
-
Description: The maximum number of concurrent connections allowed by the database server.
In the Apache Cloudberry system, client connections enter only through the Coordinator instance. Segment instances should allow 3 to 10 times the number of connections as the Coordinator. When increasing this parameter's value, the value of
max_prepared_transactionsmust be increased accordingly.The larger this parameter value, the more shared memory Apache Cloudberry requires.
max_replication_slots
- Variable Type: Integer
- Default Value: 10
- Value Range: [0,262143]
- Setting Category: postmaster
- Description: Sets the maximum number of replication slots that can be defined simultaneously.
optimizer_array_constraints
- Variable Type: Bool
- Default Value: on
- Setting Category: user
- Description: Allows the optimizer's constraint derivation framework to recognize array-type constraints.
optimizer_array_expansion_threshold
-
Value Range: Integer greater than
0 -
Default Value: 20
-
Setting Category: coordinator, session, reload
-
Description: When GPORCA is enabled (default) and executing queries containing constant array predicates, the
optimizer_array_expansion_thresholdparameter limits the optimization process based on the number of constants in the array.If the number of array elements in the query predicate exceeds the value specified by this parameter, GPORCA will not convert the predicate to disjunctive normal form during query optimization, thereby reducing optimization time and memory consumption. For example, when GPORCA processes a query with an
INclause containing more than 20 elements, it will not convert the clause to disjunctive normal form for optimization performance. This behavioral difference can be observed in the execution plan from how theINcondition is filtered.Modifying this parameter's value affects the trade-off between optimization time and memory usage, as well as optimization benefits from constraint derivation, such as conflict detection and partition pruning. This parameter can be set at the database system level, individual database level, or session and query level.
optimizer_cost_model
- Variable Type: Enum
- Default Value: calibrated
- Setting Category: user
- Description: Sets the cost model used by the optimizer.
optimizer_cost_threshold
- Variable Type: Real
- Default Value: 0
- Value Range: [0,2.15E+09]
- Setting Category: user
- Description: Sets the sampling threshold related to the optimal execution plan cost, where 0 means no upper limit.
optimizer_cte_inlining_bound
- Variable Type: Integer
- Default Value: 0
- Value Range: [0,2147483647]
- Setting Category: user
- Description: Sets the size boundary for the optimizer to decide whether to inline CTEs (Common Table Expressions).
optimizer_damping_factor_filter
- Variable Type: Real
- Default Value: 0.75
- Value Range: [0,1]
- Setting Category: user
- Description: Sets the damping factor used for selection predicates in the optimizer, where
1.0means no damping.
optimizer_damping_factor_groupby
- Variable Type: Real
- Default Value: 0.75
- Value Range: [0,1]
- Setting Category: user
- Description: Sets the damping factor for
group byoperations in the optimizer, where1.0means no damping.