Configuration Parameters
This document lists the configuration parameters (GUC) of SynxDB database in alphabetical order.
analyze_only_modified_relations
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether
ANALYZEskips relations that have not been modified since the last analyze. When set toon,ANALYZEchecks thechanges_since_analyzecounter inpgstatfor each relation. If the counter is zero (indicating no inserts, updates, or deletes since the last analyze), the relation is skipped with a log message:skipping analyze relation "<relation_name>", no data modifications since last analyze. This reduces unnecessaryANALYZEoverhead in large databases with many static tables, speeding up maintenance operations. For partitioned tables, each leaf partition is checked individually, so only modified partitions are re-analyzed. This parameter also works withVACUUM (ANALYZE). For inheritance tables, the optimization applies when you runANALYZEon individual child tables; runningANALYZEon the parent table does not individually check each child table.
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.
datalake.enable_get_block_location
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether to enable HDFS block location retrieval during directory listing operations. When set to
on, the system retrieves block location information from HDFS during directory listing, enabling HDFS-aware query planning for data locality optimization. This can improve performance for datalake workloads by allowing the query planner to consider data locality when assigning tasks to segments. This parameter only affects HDFS directory listing operations and has no effect on other storage types.
enable_lock_optimization
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Controls whether to enable lock optimization for
SELECT ... FOR UPDATEand similar queries. When this parameter is set toon, if the lock in the query can be optimized, the system will use tuple-level locks (Tuple-level Lock) instead of relation-level locks (Relation-level Lock), effectively improving concurrency performance.
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_appendonly_insert_files
Variable Type: Integer
Default Value: 0
Value Range: [0,127]
Setting Category: user
Description: Sets the number of files into which data is inserted within one transaction for append-only tables.
The default value 0 means that the system automatically determines the number of files. If you need to prepare AO/AOCO files in advance for parallel queries, set this parameter to an appropriate value before data insertion.
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: Controls whether to enable the runtime filter pushdown feature. When enabled, the operator attempts to build the hash table from hash join as a bloom filter and push it down to scan nodes. This technique can filter out tuples that do not meet join conditions early during the data scanning phase, thereby reducing data movement and subsequent computing overhead. This feature supports sequential scan and dynamic sequential scan, and can effectively improve join query performance on partitioned tables, especially with the GPORCA optimizer.
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_group_cgroup_parent
Variable Type: String
Default Value:
gpdb.serviceSetting Category: superuser, postmaster
Description: Sets the root directory name for the SynxDB database cgroup hierarchy. This parameter is effective only when cgroup v2 is used (that is when
gp_resource_manageris set togroup-v2). It allows users to customize the cgroup root directory created under/sys/fs/cgroup/to accommodate different operating system environments. For example, in asystemdenvironment, a directory name ending with.service(such as the defaultgpdb.service) might be necessary, while in other environments, a name likegpdbmight be preferred. The database must be restarted for this change to take effect.
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 SynxDB 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 SynxDB cluster.
gp_use_streaming_hashagg
Variable Type: Bool
Default Value: on
Setting Category: Hidden/Internal
Description: Controls whether to use streaming hash agg in the first phase for multi-phase aggregations.
hash_mem_multiplier
Variable Type: Real
Default Value: 1.5
Value Range: [1.0, 10.0]
Setting Category: user
Description: A multiplier used to adjust memory allocation during Hash Aggregate operations. This parameter is primarily intended to optimize the performance of hash aggregation, especially when processing large-scale data or queries with a high cardinality of grouping keys. By increasing this value, more memory can be allocated to the hash table, which reduces the probability of spilling data to disk due to memory pressure, thereby improving memory utilization and query performance. Adjusting this parameter mainly affects the memory limit calculated based on
work_memorstatement_mem. In most cases, it is recommended to keep the default value.
jit
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Allow JIT compilation.
jit_above_cost
Variable Type: Real
Default Value: 100000
Value Range: [-1, 1.79769e+308]
Setting Category: user
Description: Perform JIT compilation if query is more expensive. -1 disables JIT compilation.
jit_debugging_support
Variable Type: Boolean
Default Value: off
Setting Category: superuser-backend
Description: Register JIT-compiled functions with debugger.
jit_dump_bitcode
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Write out LLVM bitcode to facilitate JIT debugging.
jit_expressions
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Allow JIT compilation of expressions.
jit_inline_above_cost
Variable Type: Real
Default Value: 500000
Value Range: [-1, 1.79769e+308]
Setting Category: user
Description: Perform JIT inlining if query is more expensive. -1 disables inlining.
jit_optimize_above_cost
Variable Type: Real
Default Value: 500000
Value Range: [-1, 1.79769e+308]
Setting Category: user
Description: Optimize JIT-compiled functions if query is more expensive. -1 disables optimization.
jit_profiling_support
Variable Type: Boolean
Default Value: off
Setting Category: superuser-backend
Description: Register JIT-compiled functions with perf profiler.
jit_provider
Variable Type: String
Default Value: llvmjit
Setting Category: postmaster
Description: JIT provider to use.
jit_tuple_deforming
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Allow JIT compilation of tuple deforming.
krb_server_keyfile
Variable Type: string
Default Value:
FILE:/workspace/dist/database/etc/postgresql/krb5.keytabSetting 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 SynxDB 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 SynxDB requires.
max_parallel_workers_per_gather
Variable Type: Integer
Default Value: 2
Value Range: [0,1024]
Setting Category: user
Description: Sets the maximum number of parallel processes per executor node. For more information, see Execute Queries in Parallel.
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.
min_parallel_table_scan_size
Variable Type: Integer
Default Value: 256
Unit: 32kB
Value Range: [0,715827882]
Setting Category: user
Description: Sets the minimum amount of table data for a parallel scan. If the planner estimates that it will read a number of table pages too small to reach this limit, a parallel scan will not be considered.
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
0Default 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.
optimizer_damping_factor_join
Variable Type: Real
Default Value: 0
Value Range: [0,1]
Setting Category: user
Description: Sets the damping factor for join predicates in the optimizer, where
1.0means no damping and0.0means using square root damping.
optimizer_discard_redistribute_hashjoin
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Controls whether the optimizer discards hash join plans containing redistribute operations.
optimizer_dpe_stats
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Enables statistics derivation for partitioned tables in dynamic partition elimination scenarios.
optimizer_enable_derive_stats_all_groups
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Enables statistics derivation for all groups after completing search space exploration.
optimizer_enable_dynamicbitmapscan
Value Range: Boolean
Default Value: on
Setting Category: user
Description: When enabled, the optimizer uses dynamic bitmap scan plans.
If this parameter is set to
off, GPORCA will not generate dynamic bitmap scan plans and will fall back to using dynamic sequential scan as an alternative.
optimizer_enable_dynamicindexonlyscan
Parameter Type: Boolean
Default Value: on
Setting Category: coordinator, session, reload
Description: When GPORCA is enabled (default), the
optimizer_enable_dynamicindexonlyscanparameter controls whether to generate dynamic index-only scan plans.The default value is
on. When planning queries on partitioned tables, if the query does not contain single-row volatile (SIRV) functions, GPORCA might generate dynamic index-only scans as an alternative. If set tooff, GPORCA will not generate dynamic index-only scan plans. This parameter can be set at the database system level, individual database level, or session and query level.
optimizer_enable_dynamicindexscan
Value Range: Boolean
Default Value: on
Setting Category: user
Description: This parameter controls whether to enable dynamic index scan in query plans.
When enabled, the optimizer uses dynamic index scan plans. If this parameter is set to
off, GPORCA will not generate dynamic index scan plans and will fall back to using dynamic sequential scan as an alternative.
optimizer_enable_foreign_table
Parameter Type: Boolean
Default Value: true
Setting Category: coordinator, session, reload
Description: When GPORCA is enabled (default) and this parameter is set to
true(default), GPORCA generates execution plans for queries involving foreign tables.If set to
false, queries containing foreign tables will fall back to being planned by the PostgreSQL-based optimizer.
optimizer_enable_indexonlyscan
Parameter Type: Boolean
Default Value: true
Setting Category: coordinator, session, reload
Description: When GPORCA is enabled (default) and this parameter is set to
true(default), GPORCA can generate index-only scan plans for B-tree indexes and any type of index that contains all columns in the query. (GiST indexes only support index-only scans for certain operator classes.)GPORCA only accesses values in the index and not the actual data blocks of the table. This can improve query execution performance, especially when the table has been vacuumed, contains wide columns, and all visible columns are already in the index, eliminating the need to read any data blocks. If this parameter is set to
false, GPORCA will not generate index-only scan plans. This parameter can be set at the database system level, individual database level, or session and query level.When parallel execution is also enabled (
enable_parallel = on), GPORCA may generateParallel Index Only Scanplans. This parallel variant requires an up-to-date visibility map (runVACUUMon the table first) and applies only to B-tree indexes; bitmap AM indexes are not supported. When set tofalse, GPORCA will not generate parallel index-only scan plans and falls back to a parallel index scan or parallel sequential scan.Note that this parameter only affects GPORCA. The Postgres query optimizer uses its own
enable_indexonlyscanparameter to control index-only scan behavior.
optimizer_enable_indexscan
Parameter Type: Boolean
Default Value: true
Setting Category: coordinator, session, reload
Description: When GPORCA is enabled (default) and this parameter is set to
true(default), GPORCA can generate index scan plans. When parallel execution is also enabled (enable_parallel = on), GPORCA may generateParallel Index Scanplans for queries with selective predicates on indexed columns.If this parameter is set to
false, GPORCA will not generate index scan plans. For queries that would otherwise use a parallel index scan, GPORCA falls back to a parallel sequential scan. This parameter can be set at the database system level, individual database level, or session and query level.Note that this parameter only affects GPORCA. The Postgres query optimizer uses its own
enable_indexscanparameter to control index scan behavior.
optimizer_enable_orderedagg
Parameter Type: Boolean
Default Value: on
Setting Category: coordinator, session, reload
Description: When GPORCA is enabled (default), this parameter controls whether to generate query plans for ordered aggregates.
When set to
on(default), GPORCA generates execution plans for queries containing ordered aggregates. When set tooff, such queries will fall back to being planned by the PostgreSQL-based optimizer.This parameter can be set at the database system level, individual database level, or session and query level.
optimizer_enable_parallel_append
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Enables parallel append for seq/bitmap/index scan in partitioned tables in ORCA.
When set to
on, GPORCA generates and evaluates a parallel append path for partitioned table scans in addition to the default dynamic scan path. The optimizer compares the estimated cost of both paths and selects the lower-cost plan. This can significantly improve scan performance on large partitioned tables by parallelizing segment-level scans.When set to
off(default), GPORCA uses its default scan strategy for partitioned tables without generating parallel append paths.This parameter can be set at the database system level, individual database level, or session and query level.
optimizer_enable_parallel_groupagg
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Enables the optimizer’s use of parallel group aggregate (streaming) plans in ORCA.
optimizer_enable_parallel_hashagg
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Enables the optimizer’s use of parallel hash aggregate plans in ORCA.
optimizer_enable_parallel_part_selector
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Enables parallel partition selector for parallel append.
When set to
on(default), GPORCA generates a parallel partition selector executor node for parallel append plans. This node parallelizes dynamic partition elimination (DPE) across workers using a shared-memory bitmapset, so that workers coordinate partition pruning without redundant scans. This optimization takes effect only whenoptimizer_enable_parallel_appendis also set toon.When set to
off, GPORCA does not generate the parallel partition selector; partition pruning falls back to the standard approach.This parameter can be set at the database system level, individual database level, or session and query level.
optimizer_parallel_union
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Enables parallel execution for UNION/UNION ALL queries in ORCA.
When set to
on(default), GPORCA can generate parallel execution plans for queries that useUNIONorUNION ALLto combine multiple result sets. This improves throughput by distributing the work across multiple workers within each segment.When set to
off, UNION/UNION ALL queries are executed without intra-segment parallelism.This parameter can be set at the database system level, individual database level, or session and query level.
optimizer_enable_push_join_below_union_all
Parameter Type: Boolean
Default Value: off
Setting Category: coordinator, session, reload
Description: When GPORCA is enabled (default), the
optimizer_enable_push_join_below_union_allparameter controls GPORCA’s behavior when encountering queries containingJOIN UNION ALL.The default value is
off. GPORCA will not perform any transformation when the query containsJOIN UNION ALL.If set to
onand the plan cost meets requirements, GPORCA will transformJOIN UNION ALLinto multiple subqueries each performingJOINfollowed byUNION ALL. This transformation might improve join performance when the subqueries ofUNION ALLcan benefit from join operations (but don’t qualify in the original plan).For example, in scenarios where indexed nested loop joins are highly efficient, such as when the inner table is large with an index and the outer table is small, or when multiple large tables with indexes are
UNION ALL’ed with a small table, this transformation can push join conditions down as index conditions, potentially performing better than using hash joins.Enabling this transformation might increase query planning time, so it is recommended to use
EXPLAINto analyze query execution plans with this parameter both enabled and disabled. This parameter can be set at the database system level, individual database level, or session and query level.
optimizer_enable_query_parameter
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Allows the GPORCA optimizer to handle query parameters.
optimizer_enable_right_outer_join
Parameter Type: Boolean
Default Value: on
Setting Category: coordinator, session, reload
Description: When GPORCA is enabled (default), this parameter controls whether GPORCA generates right outer joins.
If set to the default value
on, GPORCA can either directly generate right outer joins or convert left outer joins to right outer joins (when the optimizer deems it appropriate). If set tooff, GPORCA will convert incoming right outer joins to equivalent left outer joins and completely avoid generating any right outer joins.If you encounter performance issues with queries using right outer joins, you can disable right outer joins by setting this parameter to
off.This parameter can be set at the database system level, individual database level, or session and query level. However, it is more recommended to control it at the query level, as right outer joins might be more appropriate query plan choices in certain scenarios.
optimizer_force_partition_topk
Variable Type: Bool
Default Value: off
Setting Category: user
Setting Range: on | off
Description: Enables WindowAgg Top-K pushdown optimization for queries of the form
RANK() OVER (PARTITION BY ... ORDER BY ...) <= K. When enabled, a Partition Top-K node is inserted below WindowAgg, which prunes non-qualifying rows early during execution. This reduces memory and CPU usage for common top-N-per-group analytics queries. OnlyRANK()with<= Kor< (K+1)filter conditions is supported;ROW_NUMBER()andDENSE_RANK()fall back to standard WindowAgg execution. Requires GPORCA optimizer to be enabled.
optimizer_force_split_window_function
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Enables two-stage window aggregation optimization. It can reduce data skew and single-point bottlenecks caused by window aggregation.
optimizer_force_three_stage_scalar_dqa
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Forces the optimizer to always choose three-stage aggregation plans for scalar distinct qualified aggregates.
optimizer_nestloop_factor
Variable Type: Real
Default Value: 1024
Value Range: [1,1.79769e+308]
Setting Category: user
Description: Sets the cost factor for nested loop joins in the optimizer.
optimizer_penalize_broadcast_threshold
Parameter Type: Integer
Value Range:
[0,2147483647]Default Value: 100000
Setting Category: user
Description: Specifies the maximum number of relation rows that can be broadcast without penalty.
If the number of broadcast rows exceeds this threshold, the optimizer will increase its execution cost to reduce the likelihood of selecting that plan.
Setting this parameter to
0disables the penalty mechanism, meaning no penalty is applied to any broadcast.
optimizer_push_group_by_below_setop_threshold
Variable Type: Integer
Default Value: 10
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum number of child nodes to attempt pushing
GROUP BYoperations below SetOp nodes.
optimizer_replicated_table_insert
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Omits broadcast operations when inserting data into replicated tables.
optimizer_skew_factor
Variable Type: Integer
Default Value: 0
Value Range: [0,100]
Setting Category: user
Description: Sets the source and weight of the skew factor.
0means disabling skew derivation based on sample statistics,1–100means enabling and calculating skew ratio based on samples; the actual skew used for cost estimation is the product of this parameter and the skew ratio.
optimizer_sort_factor
Variable Type: Real
Default Value: 1
Value Range: [0,1.79769e+308]
Setting Category: user
Description: Sets the cost factor for sort operations in the optimizer;
1.0means the same as default cost, greater than 1 means higher sort cost, less than 1 means lower cost.
optimizer_trace_fallback
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Prints information at the
INFOlog level when GPORCA falls back to using the traditional optimizer.
optimizer_use_gpdb_allocators
Variable Type: Bool
Default Value: on
Setting Category: postmaster
Description: Allows the GPORCA optimizer to use the database’s memory context management mechanism (Memory Contexts).
optimizer_xform_bind_threshold
Variable Type: Integer
Default Value: 0
Value Range: [0,2147483647]
Setting Category: user
Description: Limits the maximum number of bindings that can be generated for each transformation rule (xform) on each group expression in ORCA. Setting to
0means this limit is not enabled.
parallel_setup_cost
Variable Type: Real
Default Value: 1000
Value Range: [0,1.79769e+308]
Setting Category: user
Description: Sets the planner’s estimate of the cost of starting up worker processes for parallel query.
passwordcheck.strict_policy
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Enables a strict password policy for the PasswordCheck plugin. When set to
on, the following rules are enforced when setting a password: the password must be at least 9 characters long, contain at least 2 uppercase letters, at least 2 lowercase letters, at least 2 numbers, and at least 2 special characters. These rules are hardcoded and cannot be modified. This parameter requires thepasswordcheckmodule to be loaded viashared_preload_librariesbefore it can take effect. See Check Password Security.
pax.enable_iouring
Variable Type: Bool
Default Value: on
Setting Category: user
Description: When the GUC is enabled, SynxDB uses IO Uring to read data files in PAX storage.
pax.enable_prefetch
Variable Type: Bool
Default Value: off
Setting Category: user
Description: When the GUC is enabled, SynxDB enables threads to pre-fetch data files in PAX storage.
pax.enable_rle_batch_encoding
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Controls whether to enable batch encoding for PAX RLE encoding. When enabled, it supports encoding a batch of data, which compresses the data while improving decoding efficiency.
pg_gophermeta.gphdfs_configure_router
Variable Type: Bool
Default Value: off
Setting Category: sighup
Description: Indicates whether HDFS is configured with multiple router nodes. When an HDFS cluster uses multiple routers to provide external services, this parameter must be set to
onso that the database can correctly identify and use the list of routers.
pg_gophermeta.gopher_connect_hdfs_disable_getstate
Variable Type: Bool
Default Value: off
Setting Category: sighup
Description: Controls whether to disable the
getFsStatsRPC call after establishing an HDFS connection. In some scenarios, this RPC call may cause unnecessary overhead. Setting it tooncan disable this call to optimize connection performance.
pg_gophermeta.gopher_enable_update_oss_context
Variable Type: Bool
Default Value: off
Setting Category: sighup
Description: Controls whether Gopher (the data access layer) updates the context information for OSS (Object Storage Service).
pg_gophermeta.gopher_hash_connect_hdfs_router
Variable Type: Bool
Default Value: off
Setting Category: sighup
Description: Controls whether to disable the
getFsStatsRPC call after establishing an HDFS connection. In some scenarios, this RPC call may cause unnecessary overhead. Setting it tooncan disable this call to optimize connection performance.
pg_gophermeta.gopher_local_capacity_mb
Variable Type: Integer
Default Value: 1024000
Unit: MB
Value Range: [1024, 2147483647]
Setting Category: sighup
Description: Sets the local cache capacity in MB for the GopherMeta process. For optimal performance, it is recommended to set this value to 30% of the disk capacity. After setting this parameter, a restart of the Gopher process is required for the change to take effect.
pg_gophermeta.register_gophermeta
Variable Type: Bool
Default Value: on
Setting Category: postmaster
Description: Starts the
gophermetaworker to enable Gopher caching.If set to
on,gophermetastarts normally, making the cache server available.If set to
off, the postmaster does not start thegophermetacache service. As a result, the database cannot access object storage viagophermetaor use the cache, and must rely on PXF for access.
superuser_reserved_connections
Value Range: Integer less than
max_connectionsDefault Value: 10
Setting Category: local, system, restart
Description: Specifies the number of connection slots reserved for SynxDB database superusers.
track_io_timing
Parameter Type: Boolean
Default Value: off
Setting Category: superuser
Description: Used to collect timing statistics for database I/O activities. When enabled, the system records I/O operation durations during statement execution, which is useful for performance analysis and bottleneck identification. This parameter is off by default and can only be set by superusers.
vector.hashjoin_spill_memory_mb
Variable Type: Integer
Default Value: 512
Unit: MB
Value Range: [0, 2147483647]
Setting Category: user
Description: Sets the memory budget in MB for the vectorized hash join build side. When the estimated hash table size exceeds this value, data is spilled to disk and processed in partitions, preventing out-of-memory failures on large hash joins. Setting to
0disables spill-to-disk. This parameter only takes effect on PAX or AOCS tables with vectorization enabled. For more information, see Vectorization Query Computing.
vector.winagg_spill_work_mem
Variable Type: Integer
Default Value: 0
Unit: kB
Value Range: [0, 2147483647]
Setting Category: user
Description: Sets the memory budget in kB for the vectorized window hash aggregate (
WindowHashAgg) spill operation. When the estimated memory usage for window hash aggregation exceeds this value, data is spilled to disk to prevent out-of-memory failures. Setting to0means the system useswork_memas the memory budget. This parameter only takes effect on PAX or AOCS tables with vectorization and the GPORCA optimizer enabled. For more information, see Vectorization Query Computing.
wal_compression
Variable Type: Bool
Default Value: on
Setting Category: superuser
Description: Enables compression of full page writes in WAL files.
wal_keep_size
Parameter Type: integer
Value Range: 0 - 2147483647 (in MB)
Default Value: 320
Setting Category: sighup
Description: Specifies the maximum size of WAL files to retain for standby servers.
work_mem
Value Range: Integer in kilobytes
Default Value: 32MB
Setting Category: coordinator, session, reload
Description: Specifies the maximum amount of memory that can be used by each query operation (such as sort or hash table) before writing to temporary disk files. If no unit is specified for this parameter, it defaults to kilobytes. The default value is 32MB.
In complex queries, multiple sort or hash operations might be executed in parallel, each of which can use the amount of memory specified by
work_membefore writing to temporary files. In addition, multiple sessions might perform these operations simultaneously, so the total memory consumption might be much higher than the value ofwork_memitself. This should be taken into special consideration when choosing the value for this parameter.work_memaffects these operations: sort operations forORDER BY,DISTINCT, and merge joins; hash tables for hash joins, hash aggregates, and processingINsubqueries; bitmap index scans; and tuple store-based operations such as function scans, CTEs, PL/pgSQL, and management UDFs.In addition to allocating memory for specific execution operators,
work_memalso affects the PostgreSQL optimizer’s preference for certain query plans. Note thatwork_memis independent of the resource queue and resource group memory management mechanisms. It takes effect at the query level and is not affected by resource queue or resource group memory limits.
writable_external_table_bufsize
Variable Type: Integer
Default Value: 1024
Unit: kB
Value Range: [32,131072]
Setting Category: user
Description: Sets the buffer size (in kB) for writing to gpfdist before writing to writable external tables.