Configuration Parameters
This document lists the configuration parameters (GUC) of SynxDB database in alphabetical order.
allow_dml_directory_table
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether data manipulation language (DML) statements such as
INSERT,UPDATE, andDELETEare permitted against directory tables in SynxDB.
allow_in_place_tablespaces
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Allows tablespaces to be created directly inside the
pg_tblspcdirectory instead of at an external location, which is primarily intended for testing purposes.
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.
application_name
Variable Type: String
Default Value: ‘’
Setting Category: user
Description: Sets the application name that SynxDB reports in statistics views, log entries, and similar diagnostic output, making it easier to identify the source of a connection.
aqumv_allow_foreign_table
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether SynxDB allows Answer Query Using Materialized Views (AQUMV) rewriting to consider materialized views that are built on foreign or external tables.
archive_cleanup_command
Variable Type: String
Default Value: ‘’
Setting Category: sighup
Description: Sets the shell command that SynxDB executes at every restart point during recovery, typically used to remove WAL archive files that are no longer needed.
archive_command
Variable Type: String
Default Value: ‘’
Setting Category: sighup
Description: Sets the shell command that SynxDB calls to archive a completed WAL file, enabling WAL archiving when
archive_modeis enabled.
archive_mode
Variable Type: Enum
Default Value: off
Value Range: always, on, off
Setting Category: postmaster
Description: Controls whether SynxDB archives completed WAL files using the command specified by
archive_command.
array_nulls
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether an unquoted
NULLin array input is interpreted as a null element; when this parameter is disabled, such input is instead taken literally as the string “NULL”.
authentication_timeout
Variable Type: Integer
Default Value: 60
Unit: s
Value Range: [1,600]
Setting Category: sighup
Description: Sets the maximum time SynxDB allows for a client to complete the authentication handshake before the connection attempt is aborted.
autovacuum
Variable Type: Boolean
Default Value: on
Setting Category: sighup
Description: Controls whether SynxDB starts the autovacuum subprocess, which automatically vacuums and analyzes tables in the background.
autovacuum_analyze_scale_factor
Variable Type: Real
Default Value: 0.1
Value Range: [0,100]
Setting Category: sighup
Description: Sets the fraction of a table’s estimated row count that must be inserted, updated, or deleted before autovacuum triggers an analyze on that table; this value is added to
autovacuum_analyze_thresholdwhen determining the actual trigger point.
autovacuum_analyze_threshold
Variable Type: Integer
Default Value: 50
Value Range: [0,2147483647]
Setting Category: sighup
Description: Sets the minimum number of inserted, updated, or deleted tuples needed on a table before autovacuum triggers an analyze on that 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_max_workers
Variable Type: Integer
Default Value: 3
Value Range: [1,262143]
Setting Category: postmaster
Description: Sets the maximum number of autovacuum worker processes that can run concurrently to reclaim dead tuples and help prevent transaction ID wraparound.
autovacuum_multixact_freeze_max_age
Variable Type: Integer
Default Value: 400000000
Value Range: [10000,2000000000]
Setting Category: postmaster
Description: Specifies the multixact ID age at which a table is forced to undergo autovacuum to prevent multixact ID wraparound.
autovacuum_naptime
Variable Type: Integer
Default Value: 60
Unit: s
Value Range: [1,2147483]
Setting Category: sighup
Description: Sets the minimum interval between successive autovacuum runs on any given database.
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_insert_scale_factor
Variable Type: Real
Default Value: 0.2
Value Range: [0,100]
Setting Category: sighup
Description: Specifies a fraction of the table size that is added to autovacuum_vacuum_insert_threshold when deciding whether an insert-heavy table should be vacuumed by autovacuum.
autovacuum_vacuum_insert_threshold
Variable Type: Integer
Default Value: 1000
Value Range: [-1,2147483647]
Setting Category: sighup
Description: Sets the minimum number of inserted tuples required before autovacuum considers vacuuming a table; setting it to -1 disables insert-driven autovacuuming for that table.
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.
autovacuum_work_mem
Variable Type: Integer
Default Value: -1
Unit: kB
Value Range: [-1,2147483647]
Setting Category: sighup
Description: Sets the maximum amount of memory that each autovacuum worker process can use. When set to -1, SynxDB uses the value of maintenance_work_mem instead.
backend_flush_after
Variable Type: Integer
Default Value: 0
Unit: 32kB
Value Range: [0,256]
Setting Category: user
Description: Sets the number of pages a backend process can write before the operating system is asked to flush those writes to disk, which helps smooth out I/O and avoid large write spikes at checkpoint time.
backslash_quote
Variable Type: Enum
Default Value: safe_encoding
Value Range: safe_encoding, on, off
Setting Category: user
Description: Controls whether a backslash can be used as an escape character for a single quote within an ordinary string literal.
backtrace_functions
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: superuser
Description: Specifies a comma-separated list of C function names for which a backtrace is logged whenever an error is raised inside them, primarily to help troubleshoot internal error conditions.
bgwriter_flush_after
Variable Type: Integer
Default Value: 64
Unit: 32kB
Value Range: [0,256]
Setting Category: sighup
Description: Sets the number of pages after which the background writer requests the operating system to flush previously written pages to disk, which helps avoid large I/O bursts around checkpoints.
block_size
Variable Type: Integer
Default Value: 32768
Value Range: [32768,32768]
Setting Category: internal
Description: Shows the size, in bytes, of a database disk block. This value is determined at compile time and cannot be changed at runtime.
bonjour
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether the server advertises its existence on the network via Bonjour/Zeroconf service discovery.
bonjour_name
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: postmaster
Description: Specifies the service name used when advertising the server via Bonjour; if left unset, the computer’s host name is used by default.
bytea_output
Variable Type: Enum
Default Value: hex
Value Range: escape, hex
Setting Category: user
Description: Sets the output format used when values of type bytea are converted to text, such as in query results.
check_function_bodies
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether SynxDB checks routine bodies for syntactic and semantic validity during
CREATE FUNCTIONandCREATE PROCEDURE.
checkpoint_completion_target
Variable Type: Real
Default Value: 0.9
Value Range: [0,1]
Setting Category: sighup
Description: Specifies the target duration for completing a checkpoint, expressed as a fraction of the checkpoint interval, so that dirty buffer flushing is spread out over time rather than happening in a burst.
checkpoint_flush_after
Variable Type: Integer
Default Value: 32
Unit: 32kB
Value Range: [0,256]
Setting Category: sighup
Description: Sets the number of pages written during a checkpoint after which the system requests the operating system to flush those writes to disk.
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.
client_connection_check_interval
Variable Type: Integer
Default Value: 0
Unit: ms
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the time interval between checks for client disconnection while a query is running. A value of 0 disables this check.
client_encoding
Variable Type: String
Default Value: SQL_ASCII
Setting Category: user
Description: Sets the character set encoding that SynxDB uses to communicate with the client.
client_min_messages
Variable Type: Enum
Default Value: notice
Value Range: debug5, debug4, debug3, debug2, debug1, log, notice, warning, error
Setting Category: user
Description: Sets the minimum message severity level that is sent to the client. Each level includes all the levels that follow it, and the later the level, the fewer messages are sent.
cluster_key_command
Variable Type: String
Default Value: ‘’
Setting Category: sighup
Description: Specifies the external command used to obtain the cluster key for cluster-level file encryption.
cluster_name
Variable Type: String
Default Value: ‘’
Setting Category: postmaster
Description: Sets the name of the cluster, which is included in the process title so that individual processes can be identified when multiple clusters are running on the same host.
compute_query_id
Variable Type: Enum
Default Value: auto
Value Range: auto, regress, on, off
Setting Category: superuser
Description: Controls whether SynxDB computes a query identifier for each executed statement. When set to
auto, the identifier is computed unless a module that also computes query IDs is already loaded.
constraint_exclusion
Variable Type: Enum
Default Value: on
Value Range: partition, on, off
Setting Category: user
Description: Enables the query planner to use table constraints to skip scanning tables or partitions whose constraints guarantee that no rows can match the query.
cpu_index_tuple_cost
Variable Type: Real
Default Value: 0.005
Value Range: [0,1.79769e+308]
Setting Category: user
Description: Sets the planner’s estimate of the cost of processing each index entry during an index scan, used as one input when comparing candidate execution plans.
cpu_operator_cost
Variable Type: Real
Default Value: 0.0025
Value Range: [0,1.79769e+308]
Setting Category: user
Description: Sets the planner’s estimate of the cost of processing each operator or function call, used as one input when comparing candidate execution plans.
cpu_tuple_cost
Variable Type: Real
Default Value: 0.01
Value Range: [0,1.79769e+308]
Setting Category: user
Description: Sets the planner’s estimate of the cost of processing each tuple (row) during query execution, used as one input when comparing candidate execution plans.
create_restartpoint_on_ckpt_record_replay
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Controls whether a mirror creates a restartpoint immediately after replaying a checkpoint record, rather than waiting for the next scheduled restartpoint.
cursor_tuple_fraction
Variable Type: Real
Default Value: 1
Value Range: [0,1]
Setting Category: user
Description: Sets the planner’s estimate of the fraction of a cursor’s rows that will actually be retrieved, which the planner uses to choose a plan that favors fast startup over minimizing total execution cost when only a subset of rows is expected to be fetched.
data_checksums
Variable Type: Boolean
Default Value: off
Setting Category: internal
Description: Shows whether data checksums are enabled for the current cluster. This is a read-only value determined when the cluster was initialized and cannot be changed afterward.
data_directory
Variable Type: String
Default Value: ‘’
Setting Category: postmaster
Description: Sets the file system directory where the server stores its data.
data_directory_mode
Variable Type: Integer
Default Value: 448
Value Range: [0,511]
Setting Category: internal
Description: Shows the file permission mode of the data directory. The value is a numeric mode specification in the form accepted by the
chmodandumasksystem calls; to use the customary octal format, the number must start with a leading 0.
data_sync_retry
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether the server keeps running after a failure occurs while syncing data files to disk.
datalake.agent_server_url
Variable Type: String
Default Value: http://localhost:3888
Setting Category: user
Description: Specifies the URL of the agent server used for datalake catalog operations, such as Iceberg catalog access.
datalake.disable_cache_file
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the segments cache the data files they read from object storage or HDFS on their local disks. Off (the default) enables the cache;
ondisables it. The setting covers every lake read in the session, bothdatalake_fdwexternal tables and Iceberg tables. Adatalake_fdwexternal table created withenablecache 'true'keeps caching even when this parameter ison.
datalake.disable_filter_pushdown
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: When set to
on, disables predicate pushdown fordatalake_fdwexternal tables and Iceberg tables. With pushdown disabled, the scan returns all rows and filters are evaluated in upper plan nodes. Use this to compare query behavior with and without pushdown.
datalake.enable_file_meta_cache
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the ORC tail and the Parquet footer are cached in Gopher. When turned on, a later open of the same file reads that metadata from the cache instead of going back to the object storage or HDFS. The parameter covers only ORC and Parquet foreign tables created through
datalake_fdw; Iceberg tables, Hudi tables, and CSV or text foreign tables are unaffected.datalake.file_meta_max_sizecaps the cached metadata of a single file. The metadata cache takes effect only while the data file cache is on.
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.
datalake.enable_iceberg_analyze_sampling
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether
ANALYZEcollects per-column statistics for Iceberg tables by sampling table data. When turned off,ANALYZEonly refreshespg_class.reltuplesandpg_class.relpagesfrom Iceberg table metadata, without sampling column values.
datalake.enable_iceberg_fragment_cache
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether to cache Iceberg scan fragments (data file split metadata) across queries. Caching reduces metadata lookup overhead for repeated scans of the same Iceberg table. Set to
offto bypass the cache for diagnostic purposes.
datalake.enable_list_in_master
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether directory listing operations against HDFS are executed only on the coordinator node. This parameter applies only to HDFS list-directory operations.
datalake.enable_set_hdfs_user
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the user used to write to HDFS is determined based on the configured user mapping.
datalake.external_table_limit_segment_num
Variable Type: Integer
Default Value: 0
Value Range: [0,2147483647]
Setting Category: user
Description: Limits the number of segments used to execute datalake foreign table access. A value of 0 means no limit is applied.
datalake.external_table_new_text
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether datalake foreign tables use the newer text-parsing logic when reading text-format data. The newer logic splits a large file into blocks and reads them in parallel;
datalake.external_table_text_block_sizesets the block size.
datalake.external_table_text_block_size
Variable Type: Integer
Default Value: 32MB
Value Range: [64kB,1GB]
Setting Category: user
Description: Sets the block size that the newer text-parsing logic uses to split a large file once
datalake.external_table_new_textis on. The value must exceed the longest single record in the file. Otherwise the read stops with the errorExternal Error, lineRecordReader in file <path> consumed <bytes> bytes more than max consume bytes <block size>.
datalake.file_meta_max_size
Variable Type: Integer
Default Value: 512kB
Value Range: [64kB,2097151kB]
Setting Category: user
Description: Caps the cached metadata of a single file once
datalake.enable_file_meta_cacheis on. A file whose metadata exceeds the cap stays out of the cache and is read again on every open, with no effect on query results. ORC metadata grows with the number of stripes and columns, so a table with many columns can exceed the default. For Parquet, the cached range is always the last 64 kB of the file, so a value below 64 kB would make Parquet files uncacheable. The Gopher server applies its own cap on a single metadata blob (1 MB by default), and raising this parameter above the server cap does not bring larger files into the cache.
datalake.hudi_log_merger_threshold
Variable Type: Integer
Default Value: 512
Value Range: [128,10240]
Setting Category: user
Description: Sets the log size threshold, in MB, used to trigger merging of Hudi log records.
datalake.hudi_log_scale_factor
Variable Type: Real
Default Value: 1.3
Value Range: [1,10]
Setting Category: user
Description: Sets the scaling factor used when calculating the size of temporary files created while processing Hudi log records.
datalake.iceberg_analyze_snap_unique_ndv
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Keeps
ANALYZErecording an almost-unique column of an Iceberg table as unique afterdatalake.iceberg_analyze_statistics_targetraises the statistics target. Turn it off to record the estimate that the larger sample produced instead. The parameter has no effect on a table small enough for the sample to cover every row.
datalake.iceberg_analyze_statistics_target
Variable Type: Integer
Default Value: 1000
Value Range: [0, 10000]
Setting Category: user
Description: The minimum statistics target that
ANALYZEuses when every table named in the statement is an Iceberg table. Because sampling an Iceberg table reads all of its rows anyway, a larger target stabilizes the estimated number of distinct values for high-cardinality columns at little extra cost.The effective target is the larger of this parameter and
default_statistics_target, so raisingdefault_statistics_targetfor the session still takes precedence. Set this parameter to0to always honordefault_statistics_target. A statement that also names a non-Iceberg table, and a database-wideANALYZE, both keep standarddefault_statistics_targetsemantics.
datalake.iceberg_autovacuum
Variable Type: Boolean
Default Value: on
Setting Category: sighup
Description: Enables background autovacuum for Iceberg tables. When enabled, a background worker periodically scans Iceberg tables and triggers compaction based on file accumulation thresholds. Set this parameter through
ALTER SYSTEMand reload the configuration withpg_reload_conf()to take effect.
datalake.iceberg_autovacuum_naptime
Variable Type: Integer
Default Value: 600
Unit: s
Setting Category: sighup
Description: The interval (in seconds) at which the Iceberg autovacuum worker wakes up to inspect tables.
datalake.iceberg_enable_balanced_scan
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls how SynxDB distributes the scan tasks of an Iceberg table across segments. When enabled, SynxDB assigns tasks by greedy size-based bin-packing, so that each segment scans a similar number of bytes. When disabled, it assigns tasks round-robin by combined-task index. Balanced assignment matters most when data file sizes vary widely, because it prevents one segment from slowing down the entire scan.
datalake.iceberg_enable_batch_read
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the Parquet reader decodes and converts whole columns in batches. Batch reading amortizes the cost of per-value dispatch and of
decimal-to-numericconversion. Turn this parameter off to fall back to the per-value read path.
datalake.iceberg_enable_predicate_pushdown
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether an Iceberg table scan uses predicate pushdown.
datalake.iceberg_log_autovacuum_min_duration
Variable Type: Integer
Default Value: 600000
Unit: ms
Setting Category: sighup
Description: Logs autovacuum runs that exceed this duration in milliseconds. Set to
-1to disable logging, or0to log every autovacuum run.
datalake.iceberg_max_compactions_per_vacuum
Variable Type: Integer
Default Value: 100
Setting Category: superuser
Description: The maximum number of compaction operations performed within a single
VACUUMon an Iceberg table.
datalake.iceberg_max_file_removals_per_vacuum
Variable Type: Integer
Default Value: 100000
Setting Category: superuser
Description: The maximum number of orphan or expired files that the background deletion queue removes per
VACUUMinvocation.
datalake.iceberg_max_snapshot_age
Variable Type: Integer
Default Value: 432000
Unit: s
Setting Category: superuser
Description: The maximum retention age for Iceberg snapshots, in seconds. Snapshots older than this value are eligible for cleanup by the background deletion queue. The default value is 5 days.
datalake.iceberg_postion_deletes_threshold
Variable Type: Integer
Default Value: 100000
Value Range: [100000, 10000000]
Setting Category: user
Description: The maximum number of position-delete records accumulated per Iceberg data file before compaction is triggered. Lowering this value triggers compaction sooner; raising it defers compaction until more deletes accumulate.
datalake.iceberg_vacuum_compact_min_input_files
Variable Type: Integer
Default Value: 5
Setting Category: user
Description: The minimum number of small data files required before
VACUUMmerges them into a larger file. Below this threshold, no compaction is performed.
datalake.iceberg_vacuum_rewrite_target_file_size_mb
Variable Type: Integer
Default Value: 512
Unit: MB
Setting Category: user
Description: The target size, in megabytes, of files produced by Iceberg
VACUUMcompaction.
datalake.skip_create_polaris_catalog
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether SynxDB skips creating a Polaris catalog when working with the datalake feature.
datalake_fdw.deletion_queue_batch_size
Variable Type: Integer
Default Value: 100
Value Range: [1,10000]
Setting Category: sighup
Description: Sets the maximum number of deletion queue entries that the consumer processes in a single autovacuum cycle.
datalake_fdw.deletion_queue_enabled
Variable Type: Boolean
Default Value: on
Setting Category: sighup
Description: Controls whether the autovacuum-driven Iceberg deletion queue consumer is enabled. When you drop an Iceberg table, SynxDB records the paths of the data and metadata files to clean up in the deletion queue
pg_ext_aux.pg_iceberg_deletion_queue, and the consumer then removes those files in the background. When this parameter is off, SynxDB still records the entries, and the files stay in place until you enable the consumer again.
datalake_fdw.deletion_queue_max_retry
Variable Type: Integer
Default Value: 5
Value Range: [1,100]
Setting Category: sighup
Description: Sets the number of times that the consumer retries a failed deletion queue entry. Each failed deletion increments the retry count of the entry. Once the count reaches this value, the consumer moves the entry to
pg_ext_aux.pg_iceberg_deletion_failedand stops retrying it.
datalake_fdw.deletion_queue_min_interval
Variable Type: Integer
Default Value: 60
Unit: s
Value Range: [1,86400]
Setting Category: sighup
Description: Sets the minimum interval, in seconds, between two runs of the deletion queue consumer within the same autovacuum worker process.
datalake_proxy.dlagent_memory_limit
Variable Type: Integer
Default Value: 2048
Unit: MB
Value Range: [512,2097151]
Setting Category: sighup
Description: Sets the maximum amount of memory that the dlagent process of the datalake proxy can use. Increase this value if the dlagent worker handles large or concurrent data lake access requests and runs out of memory.
datalake_proxy.register_datalake_proxy
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether SynxDB starts the datalake proxy background worker at server startup. Disabling this parameter prevents the datalake proxy from being registered, so features that rely on it for data lake access become unavailable.
DateStyle
Variable Type: String
Default Value: ISO, MDY
Setting Category: user
Description: Sets the display format used for date and time values returned by SynxDB, and also determines how ambiguous date input is interpreted.
db_user_namespace
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Enables per-database user names, allowing the same role name to be defined differently in different databases. This is a legacy compatibility feature and is not recommended for general use.
deadlock_timeout
Variable Type: Integer
Default Value: 1000
Unit: ms
Value Range: [1,2147483647]
Setting Category: superuser
Description: Sets how long a session waits on a lock before checking whether a deadlock condition exists. A lower value detects deadlocks faster but increases the overhead of deadlock checking, while a higher value reduces that overhead at the cost of slower detection.
debug_assertions
Variable Type: Boolean
Default Value: off
Setting Category: internal
Description: Shows whether the running server was built with assertion checks enabled. This is a read-only, build-time indicator and cannot be changed at runtime.
debug_discard_caches
Variable Type: Integer
Default Value: 0
Value Range: [0,0]
Setting Category: superuser
Description: Aggressively discards system caches for debugging purposes, helping to surface bugs that depend on stale cache state. This parameter is intended for developers testing cache invalidation logic and is not useful in production deployments.
debug_pretty_print
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether parse and plan tree displays produced for debugging are indented for readability. Turning this off produces a more compact but harder-to-read output.
debug_print_aggref_in_explain
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether
EXPLAINoutput includes the internal aggregate and transition function reference numbers (aggno/aggtransno) for aggregate expressions. This is primarily useful for debugging aggregate execution.
debug_print_ivm
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the execution steps of incremental materialized view maintenance are logged to the server log. This is useful for diagnosing how incremental refresh is being carried out.
debug_print_parse
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether each query’s parse tree is logged to the server log. This is intended for debugging the parser and can generate a large volume of log output.
debug_print_plan
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether each query’s execution plan is logged to the server log. This is intended for debugging the planner and can generate a large volume of log output.
debug_print_prelim_plan
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the preliminary execution plan, generated before final plan post-processing, is printed to the server log. This is useful for debugging how the planner arrives at the final plan.
debug_print_rewritten
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether each query’s rewritten parse tree (after rule rewriting, such as view expansion) is logged to the server log. This is intended for debugging the query rewriter.
debug_print_slice_table
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the slice table, which describes how a query plan is divided across execution slices in a distributed plan, is printed to the server log. This is useful for debugging plan slicing and parallel execution.
default_index_access_method
Variable Type: String
Default Value: btree
Setting Category: user
Description: Sets the default index access method used when creating an index without explicitly specifying one via
USING. SynxDB uses this setting whenever aCREATE INDEXstatement omits the access method clause.
default_statistics_target
Variable Type: Integer
Default Value: 100
Value Range: [1,10000]
Setting Category: user
Description: Sets the default statistics target used by
ANALYZEfor table columns. This applies to columns that have not had a column-specific target set viaALTER TABLE ... SET STATISTICS.
default_table_access_method
Variable Type: String
Default Value: heap
Setting Category: user
Description: Sets the default table access method used when creating new tables in SynxDB that do not explicitly specify one.
default_tablespace
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: user
Description: Sets the default tablespace in which to create tables and indexes when no tablespace is explicitly specified. An empty string means the database’s default tablespace is used.
default_text_search_config
Variable Type: String
Default Value: pg_catalog.simple
Setting Category: user
Description: Sets the default text search configuration used by text search functions when no configuration is explicitly specified.
default_toast_compression
Variable Type: Enum
Default Value: pglz
Value Range: pglz, lz4
Setting Category: user
Description: Sets the default compression method used for compressible values stored out-of-line (TOASTed) when a column does not specify its own compression method.
default_transaction_deferrable
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Sets the default deferrable status for new transactions that are both
SERIALIZABLEandREAD ONLY, controlling whether such transactions might be delayed before acquiring a snapshot.
default_transaction_isolation
Variable Type: Enum
Default Value: read committed
Value Range: serializable, repeatable read, read committed, read uncommitted
Setting Category: user
Description: Sets the isolation level used by each new transaction that does not explicitly set its own isolation level.
default_transaction_read_only
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Sets the default read-only status of new transactions that do not explicitly specify a read-only mode.
dynamic_library_path
Variable Type: String
Default Value: $libdir
Setting Category: superuser
Description: Sets the search path used to locate dynamically loadable modules. If a module name to be opened does not include a directory component (that is, it contains no slash), the system searches this path for the specified file.
effective_cache_size
Variable Type: Integer
Default Value: 524288
Unit: 32kB
Value Range: [1,2147483647]
Setting Category: user
Description: Sets the query planner’s assumption about the effective size of the disk cache available to a single query, that is, the combined size of the kernel cache and shared buffers used for data files. This value is measured in disk pages, normally 8 kB each.
effective_io_concurrency
Variable Type: Integer
Default Value: 1
Value Range: [0,1000]
Setting Category: user
Description: Sets the number of concurrent disk I/O requests that the disk subsystem can handle efficiently, which the planner uses to size prefetching for operations such as bitmap heap scans.
enable_answer_query_using_materialized_views
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the query optimizer in SynxDB can rewrite a query to be answered using a matching materialized view instead of scanning the underlying base tables.
enable_async_append
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner’s use of asynchronous
Appendplan nodes is enabled, allowing certainAppendchild plans (such as those involving foreign scans) to be executed concurrently.
enable_bitmapscan
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner’s use of bitmap-scan plan types is enabled when generating query execution plans.
enable_expr_groupby_reduction
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the optimizer removes
GROUP BYexpressions that can be derived from other columns already present in theGROUP BYlist, simplifying the grouping plan.
enable_gathermerge
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner considers plans that use a Gather Merge node to combine sorted results from parallel workers.
enable_groupagg
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner considers plans that use grouping aggregation to compute aggregate results.
enable_hashagg
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner considers plans that use hashed aggregation to compute aggregate results.
enable_hashjoin
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner considers plans that use a hash join algorithm.
enable_incremental_sort
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the query planner considers plans that use incremental sort steps, which sort input data that is already partially sorted on a leading subset of the required sort keys.
enable_indexonlyscan
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner considers plans that use index-only scans, which retrieve results directly from an index without accessing the underlying table.
enable_indexscan
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner considers plans that use index scans.
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.
enable_material
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner considers plans that insert materialization nodes to cache intermediate results.
enable_memoize
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner considers plans that use memoization to cache the results of parameterized subplans, avoiding repeated computation for previously seen parameter values.
enable_mergejoin
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the query planner considers plans that use a merge join algorithm.
enable_nestloop
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the query planner considers plans that use a nested-loop join algorithm.
enable_parallel
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether SynxDB allows the use of parallel query facilities when planning and executing queries.
enable_parallel_append
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner considers plans that use parallel append, allowing the subplans of an
Appendnode (such as those from partitioned tables orUNION ALL) to run concurrently across parallel workers.
enable_parallel_dedup_semi_join
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether SynxDB allows the use of parallel deduplication for semi-join processing during query execution.
enable_parallel_dedup_semi_reverse_join
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner can use parallel dedup semi reverse join plans. When enabled, SynxDB allows this join strategy to be considered during query optimization.
enable_parallel_hash
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Enables the query planner’s use of hash join plans that employ parallel workers. Disabling this parameter prevents the planner from choosing parallel hash join strategies.
enable_parallel_semi_join
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the query planner can use parallel semi join plans. When enabled, SynxDB allows this join strategy to be considered during query optimization.
enable_partition_pruning
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Enables plan-time and execution-time partition pruning, allowing the query planner and executor to compare partition bounds against query conditions to determine which partitions must be scanned. This avoids scanning partitions that cannot contain matching rows, reducing query execution cost.
enable_partitionwise_aggregate
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Enables partitionwise aggregation and grouping, allowing the planner to perform aggregate and
GROUP BYoperations separately on each partition before combining the results.
enable_partitionwise_join
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Enables partitionwise join, allowing the planner to join matching partitions of two partitioned tables independently, instead of joining the full tables as a whole.
enable_password_profile
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether SynxDB applies password profile security policies during password-based authentication, such as password expiration and account lockout rules.
enable_seqscan
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Enables the query planner’s use of sequential-scan plans. Disabling this parameter causes the planner to avoid sequential scans whenever another access method is possible, which is primarily useful for testing and comparing query plans.
enable_sort
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Enables the query planner’s use of explicit sort steps. Disabling this parameter causes the planner to avoid explicit sorts whenever possible, which is primarily useful for testing and comparing query plans.
enable_tidscan
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Enables the query planner’s use of TID (tuple ID) scan plans. Disabling this parameter causes the planner to avoid TID scans whenever another access method is possible.
escape_string_warning
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether SynxDB emits a warning when a backslash escape is used in an ordinary string literal, because the interpretation of such escapes might change depending on the
standard_conforming_stringssetting.
event_source
Variable Type: String
Default Value: PostgreSQL
Setting Category: postmaster
Description: Sets the application name used to identify SynxDB messages in the Windows event log. This parameter has no effect on platforms other than Windows.
exit_on_error
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether a session terminates immediately after any error occurs, rather than continuing to process later statements in the same transaction or session.
explain_memory_verbosity
Variable Type: Enum
Default Value: suppress
Value Range: suppress, summary, detail
Setting Category: user
Description: An experimental parameter that controls the level of memory account usage information shown in
EXPLAIN ANALYZEoutput. Higher verbosity levels report more detailed memory consumption statistics for the query.
extra_float_digits
Variable Type: Integer
Default Value: 1
Value Range: [-15,3]
Setting Category: user
Description: Sets the number of extra digits displayed for floating-point values of type
realanddouble precision, as well as geometric data types. A value greater than zero selects precise output mode, while a zero or negative value reduces the number of digits relative to the standard precision.
file_encryption_method
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: internal
Description: Shows the file encryption method used by the SynxDB cluster.
find_writer_proc_retry_time
Variable Type: Integer
Default Value: 5
Value Range: [1,5000]
Setting Category: user
Description: Sets the retry interval used when locating the writer process entry.
fixeddecimal.enable_optimizer
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Enables optimizer rewriting of eligible
SUM/AVGaggregates onnumeric(P,2)columns into faster fixeddecimal variants.
force_parallel_mode
Variable Type: Enum
Default Value: off
Value Range: off, on, regress
Setting Category: user
Description: Controls whether queries are forced to use the parallel query execution facilities, running with a parallel worker under parallel-mode restrictions whenever possible.
from_collapse_limit
Variable Type: Integer
Default Value: 20
Value Range: [1,2147483647]
Setting Category: user
Description: Sets the FROM-list size threshold beyond which subqueries are no longer collapsed into the parent query; the planner merges a subquery into the upper query only if the resulting FROM list would not exceed this many items.
geqo_seed
Variable Type: Real
Default Value: 0
Value Range: [0,1]
Setting Category: user
Description: Retained only for syntax compatibility with PostgreSQL; this parameter has no effect on query planning.
gin_fuzzy_search_limit
Variable Type: Integer
Default Value: 0
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum number of rows a GIN index search is allowed to return for an exact search; a value of 0 means no limit is applied.
gin_pending_list_limit
Variable Type: Integer
Default Value: 4096
Unit: kB
Value Range: [64,2147483647]
Setting Category: user
Description: Sets the maximum size of the pending list used to buffer GIN index insertions before it is flushed into the main index structure.
gp_adjust_selectivity_for_outerjoins
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the optimizer adjusts selectivity estimates for null tests applied over the results of outer joins.
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_compaction_threshold
Variable Type: Integer
Default Value: 10
Value Range: [0,100]
Setting Category: user
Description: Sets the percentage threshold for the ratio of dirty (deleted) data in an append-optimized segment file above which the file is compacted during a lazy
VACUUM.
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_appendonly_insert_files_tuples_range
Variable Type: Integer
Default Value: 100000
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the number of tuples inserted into an append-optimized table’s segment file before the insert operation switches to a different segment file within the same transaction.
gp_autostats_allow_nonowner
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Allows automatic statistics collection to run on a table even when the modifying user is not the table’s owner; when disabled, statistics are refreshed only when the table owner modifies the table.
gp_autostats_lock_wait
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Controls whether autostats automatically generated
ANALYZEwaits for lock acquisition.
gp_autostats_mode
Variable Type: Enum
Default Value: none
Value Range: none, on_change, onchange, on_no_stats
Setting Category: user
Description: Sets the mode that determines when automatic statistics collection (autostats) is triggered after data-modifying operations; the
on_changemode additionally requiresgp_autostats_on_change_thresholdto be configured.
gp_autostats_mode_in_functions
Variable Type: Enum
Default Value: none
Value Range: none, on_change, onchange, on_no_stats
Setting Category: user
Description: Sets the autostats mode applied to statements executed inside procedural language functions; the
on_changemode additionally requiresgp_autostats_on_change_thresholdto be configured.
gp_autostats_on_change_threshold
Variable Type: Integer
Default Value: 2147483647
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the number of tuples added to a table by
CTASorINSERToperations required to trigger automatic statistics collection whengp_autostats_modeis set toon_change.
gp_cached_segworkers_threshold
Variable Type: Integer
Default Value: 5
Value Range: [1,2147483647]
Setting Category: user
Description: Sets the maximum number of segment worker processes that SynxDB caches and reuses between statements within the same session, rather than reconnecting for each new query.
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_connection_send_timeout
Variable Type: Integer
Default Value: 3600
Value Range: [0,2147483647]
Setting Category: sighup
Description: Sets the timeout, in seconds, for sending data to a client connection that is not responding. A value of 0 causes SynxDB to use the system default timeout instead.
gp_contentid
Variable Type: Integer
Default Value: -10000
Value Range: [-2147483648,2147483647]
Setting Category: postmaster
Description: Shows the content ID assigned to this server instance, identifying which segment (or the coordinator) the process belongs to within the cluster.
gp_create_table_random_default_distribution
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether a table’s default distribution policy is set to RANDOM when
CREATE TABLEdoes not explicitly specify a distribution clause.
gp_cte_sharing
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the planner shares plan fragments among multiple references to the same common table expression (CTE) instead of generating a separate plan for each reference.
gp_dbid
Variable Type: Integer
Default Value: -10000
Value Range: [-2147483648,2147483647]
Setting Category: postmaster
Description: Shows the dbid assigned to this server instance, used internally by SynxDB to identify the segment or coordinator within the cluster’s catalog.
gp_debug_linger
Variable Type: Integer
Default Value: 0
Unit: s
Value Range: [0,3600]
Setting Category: user
Description: Sets the number of seconds a query dispatcher (QD) or query executor (QE) process pauses after encountering a fatal internal error, giving developers a window to attach a debugger before the process terminates.
gp_default_storage_options
Variable Type: String
Default Value: ‘’
Setting Category: user
Description: Sets the default storage options (such as
blocksize,compresstype, andchecksum) applied when creating append-optimized tables that do not explicitly specify these options.
gp_dispatch_keepalives_count
Variable Type: Integer
Default Value: 0
Value Range: [0,127]
Setting Category: postmaster
Description: Sets the maximum number of TCP keepalive retransmissions the query dispatcher (QD) sends to query executors (QEs) before considering the connection dead. A value of 0 causes SynxDB to use the operating system default.
gp_dispatch_keepalives_idle
Variable Type: Integer
Default Value: 0
Unit: s
Value Range: [0,32767]
Setting Category: postmaster
Description: Sets the idle time, in seconds, before the query dispatcher (QD) begins sending TCP keepalive messages to query executors (QEs). A value of 0 causes SynxDB to use the operating system default.
gp_dispatch_keepalives_interval
Variable Type: Integer
Default Value: 0
Unit: s
Value Range: [0,32767]
Setting Category: postmaster
Description: Sets the interval, in seconds, between TCP keepalive retransmissions sent from the query dispatcher (QD) to query executors (QEs). A value of 0 causes SynxDB to use the operating system default.
gp_dtx_recovery_interval
Variable Type: Integer
Default Value: 60
Unit: s
Value Range: [5,3600]
Setting Category: sighup
Description: Sets the interval, in seconds, at which the distributed transaction (DTX) recovery process periodically performs a complete check for transactions that need recovery.
gp_dtx_recovery_prepared_period
Variable Type: Integer
Default Value: 120
Unit: s
Value Range: [0,3600]
Setting Category: sighup
Description: Sets the time window, in seconds, that the distributed transaction (DTX) recovery process uses to collect prepared transactions to identify potentially orphaned ones.
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_agg_distinct
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the optimizer can use two-phase aggregation to compute a single DISTINCT-qualified aggregate.
gp_enable_agg_distinct_pruning
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the optimizer can use three-phase aggregation and join to compute DISTINCT-qualified aggregates, pruning unnecessary rows earlier in the plan.
gp_enable_agg_pushdown
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the planner pushes aggregate computation down closer to the scan level. When enabled, the optimizer can generate plans that compute aggregates earlier in the plan tree instead of after all data has been gathered.
gp_enable_ao_indexscan
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the planner can choose index scans for append-optimized tables. When disabled, the planner does not consider index scan plans for these tables.
gp_enable_direct_dispatch
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether SynxDB dispatches single-row-insert queries only to the specific segment (or mirror pair) that targets the row, instead of involving the whole cluster. This avoids unnecessary dispatch to segments that are not needed for the operation.
gp_enable_fast_sri
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the planner uses an optimized plan for single-slice single-row inserts, allowing such inserts to be executed more efficiently.
gp_enable_global_deadlock_detector
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether SynxDB enables the global deadlock detector, which checks for deadlocks across the whole cluster rather than relying solely on local, per-segment deadlock detection.
gp_enable_minmax_optimization
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the planner uses index scans with a limit to implement
MIN/MAXaggregate queries, which can avoid scanning the entire table when a suitable index is available.
gp_enable_multiphase_agg
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the planner considers two- or three-stage parallel aggregation plans. Enabling this allows partial aggregation to be performed before data motion, which can reduce the amount of data redistributed across segments.
gp_enable_multiphase_limit
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the planner considers two-phase
LIMITplans, allowing a partial limit to be applied on the query executors before the final limit is applied after data motion.
gp_enable_predicate_propagation
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the planner propagates predicates between expressions that are known to be equivalent, such as columns joined on equality. When enabled, a predicate applied to one expression is also applied to its equivalent counterpart; when disabled, the planner does not copy predicates in this way.
gp_enable_preunique
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the planner can perform duplicate removal in two phases. When enabled, the planner might choose to remove duplicate rows both before and after data redistribution, which can reduce the volume of data moved across segments.
gp_enable_query_metrics
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether SynxDB collects query metrics for all queries, enabling the gathering of runtime execution statistics used for monitoring and diagnostics.
gp_enable_refresh_fast_path
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether
REFRESH MATERIALIZED VIEWavoids performing a full refresh when possible, allowing the operation to take a faster path instead of always recomputing the view from scratch.
gp_enable_relsize_collection
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the planner collects relation size information when statistics are not present for a table. If disabled and statistics are missing, a default size value is used instead.
gp_enable_runtime_filter
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the planner enables runtime filtering, allowing filters derived during query execution (such as from a join’s build side) to be pushed down to reduce the amount of data scanned or processed.
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, reducing data movement and compute 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_sort_limit
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the planner allows a
LIMIToperation to be performed while sorting, so that only the first n rows required by the plan are retained during the sort, improving sort efficiency.
gp_enable_statement_trigger
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Allows creation of statement-level triggers.
gp_external_enable_exec
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether SynxDB allows selecting from an external table that is defined with an
EXECUTEclause, letting the database run an OS command or script to produce the external data.
gp_external_enable_filter_pushdown
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether SynxDB passes query constraints (such as
WHEREclause conditions) down to external table providers, allowing the provider to filter rows before returning data to the database.
gp_external_max_segs
Variable Type: Integer
Default Value: 64
Value Range: [1,2147483647]
Setting Category: user
Description: Sets the maximum number of segments that can connect to a single
gpfdistURL when reading from an external table, which helps balance the load placed on the external data source.
gp_fts_mark_mirror_down_grace_period
Variable Type: Integer
Default Value: 30
Unit: s
Value Range: [0,3600]
Setting Category: sighup
Description: Sets the grace period, in seconds, that a mirror segment is given to reconnect after a disconnection before the fault-tolerance service (FTS) probe process marks it as down in the system configuration.
gp_fts_probe_interval
Variable Type: Integer
Default Value: 60
Unit: s
Value Range: [10,3600]
Setting Category: sighup
Description: Sets the interval, in seconds, at which the fault-tolerance service (FTS) probe process starts a new, complete probe of all segments to check their health status.
gp_fts_probe_retries
Variable Type: Integer
Default Value: 5
Value Range: [0,100]
Setting Category: sighup
Description: Sets the number of times the fault-tolerance service (FTS) probe process retries probing a segment before giving up on that probe attempt.
gp_fts_probe_timeout
Variable Type: Integer
Default Value: 20
Unit: s
Value Range: [0,3600]
Setting Category: sighup
Description: Sets the maximum time, in seconds, allowed for the fault-tolerance service (FTS) probe process to complete probing a single segment.
gp_fts_replication_attempt_count
Variable Type: Integer
Default Value: 10
Value Range: [0,100]
Setting Category: sighup
Description: Sets the maximum number of continuous attempts the fault-tolerance service (FTS) makes to establish the primary-mirror replication connection for a segment.
gp_global_deadlock_detector_period
Variable Type: Integer
Default Value: 120
Unit: s
Value Range: [5,2147483647]
Setting Category: sighup
Description: Sets the interval, in seconds, at which the global deadlock detector background process runs to check for deadlocks across the cluster.
gp_hashjoin_tuples_per_bucket
Variable Type: Integer
Default Value: 5
Value Range: [1,25]
Setting Category: user
Description: Sets the target density (average tuples per bucket) of the hash table built for hash join execution. A smaller value produces a larger hash table, which can improve hash join performance at the cost of additional memory.
gp_initial_bad_row_limit
Variable Type: Integer
Default Value: 1000
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the number of bad rows encountered at the start of data loading beyond which SynxDB stops processing, helping to fail fast when the input data is malformed.
gp_instrument_shmem_size
Variable Type: Integer
Default Value: 5120
Unit: kB
Value Range: [0,131072]
Setting Category: postmaster
Description: Sets the size of the shared memory segment allocated for query execution instrumentation, which stores runtime statistics used for monitoring and diagnostics.
gp_interconnect_address_type
Variable Type: Enum
Default Value: unicast
Value Range: wildcard, unicast
Setting Category: backend
Description: Sets the network address type used by the interconnect for inter-segment communication, either binding to a specific unicast address or listening on all available (wildcard) addresses.
gp_interconnect_cache_future_packets
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the UDP interconnect caches packets that arrive ahead of the expected sequence, so they can be reused later instead of being discarded and requiring retransmission.
gp_interconnect_cursor_ic_table_size
Variable Type: Integer
Default Value: 128
Value Range: [128,102400]
Setting Category: user
Description: Sets the size of the cursor history table used by the UDP interconnect. You can increase this value if a user-defined function containing many concurrent cursor queries appears to hang.
gp_interconnect_debug_retry_interval
Variable Type: Integer
Default Value: 10
Value Range: [1,4096]
Setting Category: user
Description: Controls how often, expressed as a number of retries, the UDP interconnect logs a debug message while retransmitting a packet. A smaller value produces more frequent debug logging during retries.
gp_interconnect_default_rtt
Variable Type: Integer
Default Value: 20
Unit: ms
Value Range: [1,1000]
Setting Category: user
Description: Sets the default round-trip time estimate that the UDP interconnect uses before it has measured actual network latency, which affects its retransmission and timeout calculations.
gp_interconnect_fc_method
Variable Type: Enum
Default Value: loss
Value Range: loss, capacity, loss_advance, loss_timer
Setting Category: user
Description: Selects the flow control method used by the UDP interconnect.
lossbases flow control on packet loss detection, whilecapacitybases it on estimated network capacity;loss_advanceandloss_timerare additional loss-based variants.
gp_interconnect_mem_size
Variable Type: Integer
Default Value: 10
Value Range: [1,1024]
Setting Category: user
Description: Sets the maximum size, in MB, of the send/receive queue memory that the UDP interconnect allocates for all connections on a segment.
gp_interconnect_min_retries_before_timeout
Variable Type: Integer
Default Value: 100
Value Range: [1,4096]
Setting Category: user
Description: Sets the minimum number of retransmission retries the interconnect must attempt before it reports a transmit timeout.
gp_interconnect_min_rto
Variable Type: Integer
Default Value: 20
Unit: ms
Value Range: [1,1000]
Setting Category: user
Description: Sets the minimum retransmission timeout (RTO), in milliseconds, that the UDP interconnect uses when deciding to resend an unacknowledged packet.
gp_interconnect_queue_depth
Variable Type: Integer
Default Value: 4
Value Range: [1,4096]
Setting Category: user
Description: Sets the maximum size of the receive queue for each connection in the UDP interconnect, that is, how many packets can be buffered on the receiving side per connection.
gp_interconnect_setup_timeout
Variable Type: Integer
Default Value: 7200
Unit: s
Value Range: [0,7200]
Setting Category: user
Description: Sets the timeout, in seconds, for setting up the interconnect communication fabric when a query starts; if setup does not complete within this time, SynxDB reports a timeout error.
gp_interconnect_snd_queue_depth
Variable Type: Integer
Default Value: 2
Value Range: [1,4096]
Setting Category: user
Description: Sets the maximum size of the send queue for each connection in the UDP interconnect, that is, how many unacknowledged packets can be buffered on the sending side per connection.
gp_interconnect_tcp_listener_backlog
Variable Type: Integer
Default Value: 256
Value Range: [0,65535]
Setting Category: user
Description: Sets the size of the listening queue for each TCP interconnect socket. Tune this value together with the kernel parameters
net.core.somaxconnandnet.ipv4.tcp_max_syn_backlogto improve network performance.
gp_interconnect_timer_checking_period
Variable Type: Integer
Default Value: 20
Unit: ms
Value Range: [1,100]
Setting Category: user
Description: Sets the interval, in milliseconds, at which the UDP interconnect checks its internal retransmission timer.
gp_interconnect_timer_period
Variable Type: Integer
Default Value: 5
Unit: ms
Value Range: [1,100]
Setting Category: user
Description: Sets the base timer period, in milliseconds, that the UDP interconnect uses to drive its periodic timing operations such as retransmission checks.
gp_interconnect_transmit_timeout
Variable Type: Integer
Default Value: 3600
Unit: s
Value Range: [1,7200]
Setting Category: user
Description: Sets the timeout, in seconds, that the interconnect allows for transmitting a packet; if a packet cannot be successfully transmitted within this period, the interconnect reports a timeout.
gp_interconnect_type
Variable Type: String
Default Value: udpifc
Setting Category: backend
Description: Selects the protocol used for inter-node communication in SynxDB. Valid values are
tcp,udpifc(UDP-based interconnect with flow control), andproxy.
gp_log_format
Variable Type: Enum
Default Value: csv
Value Range: text, csv
Setting Category: postmaster
Description: Sets the format used for server log files, either plain text or CSV.
gp_log_suboverflow_statement
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB logs statements that cause a subtransaction overflow, which can help diagnose excessive use of subtransactions.
gp_max_local_distributed_cache
Variable Type: Integer
Default Value: 1024
Value Range: [0,2147483647]
Setting Category: postmaster
Description: Sets the number of local-distributed transactions that a backend caches to optimize visibility processing when checking transaction status.
gp_max_packet_size
Variable Type: Integer
Default Value: 8192
Value Range: [512,65507]
Setting Category: backend
Description: Sets the maximum packet size used by the interconnect, the internal network layer that moves data between SynxDB segment processes.
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_max_plan_size
Variable Type: Integer
Default Value: 0
Unit: kB
Value Range: [0,2147483647]
Setting Category: superuser
Description: Sets the maximum size of a query plan that can be dispatched to segments; a value of 0 means no size limit is enforced.
gp_max_slices
Variable Type: Integer
Default Value: 0
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum number of slices allowed for a single query; a value of 0 means no limit is enforced.
gp_motion_cost_per_row
Variable Type: Real
Default Value: 0
Value Range: [0,1.79769e+308]
Setting Category: user
Description: Sets the planner’s cost estimate for moving a single row between worker processes across the interconnect. When set to a value greater than 0, the planner uses this value directly for Motion operator cost estimation instead of the default calculation based on
cpu_tuple_cost.
gp_print_create_gang_time
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether SynxDB prints information about the time spent creating a gang of worker processes for a query.
gp_random_insert_segments
Variable Type: Integer
Default Value: 0
Value Range: [0,2147483647]
Setting Category: user
Description: Limits the number of segments used when inserting data into a randomly distributed table; a value of 0 means all segments are used.
gp_reject_percent_threshold
Variable Type: Integer
Default Value: 300
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the number of rows that must be processed before the reject-limit percentage (used for
SEGMENT REJECT LIMITerror handling in external table loads) begins to be calculated.
gp_reraise_signal
Variable Type: Boolean
Default Value: on
Setting Category: superuser
Description: Controls whether SynxDB attempts to dump core when a serious problem, such as a segmentation fault, occurs.
gp_resgroup_memory_policy
Variable Type: Enum
Default Value: eager_free
Value Range: none, auto, eager_free
Setting Category: superuser
Description: Sets the policy that resource groups use to allocate memory among concurrently running queries. Valid values are
autoandeager_free.
gp_resource_group_bypass
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: When set to true, queries in the current session are not limited by resource group constraints.
gp_resource_group_bypass_catalog_query
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether queries that only access system catalog tables bypass resource group limits.
gp_resource_group_bypass_direct_dispatch
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether queries with a direct dispatch plan, which target a single segment, bypass resource group limits.
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_group_cpu_limit
Variable Type: Real
Default Value: 0.9
Value Range: [0.1,1]
Setting Category: postmaster
Description: Sets the maximum percentage of the host’s total CPU resources that can be assigned collectively to all resource groups in the cluster.
gp_resource_group_cpu_priority
Variable Type: Integer
Default Value: 10
Value Range: [1,50]
Setting Category: postmaster
Description: Sets the CPU scheduling priority for postgres backend processes when resource group-based workload management is enabled.
gp_resource_group_move_timeout
Variable Type: Integer
Default Value: 30000
Unit: ms
Value Range: [10,2147483647]
Setting Category: user
Description: Sets the maximum time to wait while moving a queued process into another resource group before giving up on the move.
gp_resource_group_queuing_timeout
Variable Type: Integer
Default Value: 0
Unit: ms
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum time a transaction can wait while queuing on a resource group before it gives up; a value of 0 disables the timeout.
gp_resource_manager
Value Range: none, group, group-v2, queue
Default Value: queue
Setting Category: local, system, restart
Description: Specifies the resource management scheme currently enabled in the SynxDB database cluster.
none: No resource manager is used.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 (default).
gp_resqueue_memory_policy
Variable Type: Enum
Default Value: none
Value Range: none, auto, eager_free
Setting Category: superuser
Description: Controls the memory allocation policy that the resource queue-based workload manager uses for queries.
autodistributes query memory based on the operators in the plan, whileeager_freeadditionally reclaims memory from operators as soon as they finish executing;nonedisables this memory management.
gp_resqueue_priority
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Enables priority-based CPU scheduling for queries running under resource queues.
gp_resqueue_priority_cpucores_per_segment
Variable Type: Real
Default Value: 4
Value Range: [0.1,512]
Setting Category: postmaster
Description: Specifies the number of processing units (CPU cores) associated with each segment, which the resource queue priority scheduler uses to compute CPU shares.
gp_resqueue_priority_sweeper_interval
Variable Type: Integer
Default Value: 1000
Value Range: [500,15000]
Setting Category: postmaster
Description: Sets the frequency, in milliseconds, at which the sweeper process re-evaluates and adjusts CPU shares for resource queue priority scheduling.
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_segment_connect_timeout
Variable Type: Integer
Default Value: 180
Unit: s
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum time, in seconds, allowed for a new worker process to start or for a mirror segment to respond. A value of 0 means SynxDB waits indefinitely.
gp_segments_for_planner
Variable Type: Integer
Default Value: 0
Value Range: [0,2147483647]
Setting Category: user
Description: When set to a value greater than 0, the planner uses this number of segment instances for its cost and size estimates instead of the actual segment count. A value of 0 makes the planner base its estimates on the actual number of segment instances in the cluster.
gp_server_version
Variable Type: String
Default Value: ‘2.6.0 build 143183’
Setting Category: internal
Description: Shows the full SynxDB server version string, including the build identifier.
gp_server_version_num
Variable Type: Integer
Default Value: 20100
Value Range: [20100,20100]
Setting Category: internal
Description: Shows the SynxDB server version encoded as an integer, for use in numeric version comparisons.
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_set_proc_affinity
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether, at postmaster startup, the system attempts to bind the postmaster process to a specific processor for CPU affinity.
gp_statistics_pullup_from_child_partition
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Enables the planner to use statistics collected on child partitions when planning queries against the parent partitioned table.
gp_statistics_use_fkeys
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Enables the planner to use statistics derived from foreign key relationships when estimating query plans.
gp_subtrans_warn_limit
Variable Type: Integer
Default Value: 16777216
Value Range: [0,2147483647]
Setting Category: postmaster
Description: Sets the warning threshold for the number of subtransactions within a single transaction; exceeding this limit causes SynxDB to emit a warning.
gp_udp_bufsize_k
Variable Type: Integer
Default Value: 0
Value Range: [0,32768]
Setting Category: backend
Description: Sets the receive buffer size for the UDP-based interconnect used for internal segment-to-segment communication in SynxDB. This parameter is intended for testing purposes rather than routine tuning.
gp_use_streaming_hashagg
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the Postgres query optimizer uses a streaming hash aggregate in the first phase of a multi-phase aggregation. A streaming partial hash aggregate reduces memory pressure and avoids disk spills when processing many distinct groups. This hidden parameter does not appear in
gpconfig -l.
gp_vmem_idle_resource_timeout
Variable Type: Integer
Default Value: 18000
Unit: ms
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the length of time (in milliseconds) that a session can remain idle before its gangs on the segment databases are released to free up resources. Setting this value to 0 disables the timeout, meaning idle gangs are never automatically released.
gp_vmem_protect_limit
Variable Type: Integer
Default Value: 8192
Value Range: [0,1073741823]
Setting Category: postmaster
Description: Sets the virtual memory limit, in MB, used by SynxDB’s memory protection mechanism to guard against runaway memory consumption on a segment host.
gp_vmem_protect_segworker_cache_limit
Variable Type: Integer
Default Value: 500
Value Range: [1,1073741823]
Setting Category: postmaster
Description: Sets the maximum virtual memory limit, in MB, that a segworker process can use to remain eligible for caching and reuse rather than being terminated.
gp_workfile_compression
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether temporary work files spilled to disk during query execution are compressed.
gp_workfile_limit_files_per_query
Variable Type: Integer
Default Value: 100000
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum number of work files that a single query is allowed to create per segment. When the limit is exceeded, the query is terminated; setting the value to 0 removes the limit.
gp_workfile_limit_per_query
Variable Type: Integer
Default Value: 0
Unit: kB
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum disk space, in kilobytes, that work files for a single query are allowed to use on a segment. When the limit is exceeded, the query is terminated; the default of 0 means there is no limit.
gp_workfile_limit_per_segment
Variable Type: Integer
Default Value: 0
Unit: kB
Value Range: [0,2147483647]
Setting Category: postmaster
Description: Sets the maximum total disk space, in kilobytes, that work files can occupy on a single segment across all queries. When the limit is exceeded, the query causing the overage is terminated; the default of 0 means there is no limit.
gpfdist_retry_timeout
Variable Type: Integer
Default Value: 300
Unit: s
Value Range: [1,7200]
Setting Category: user
Description: Sets the timeout, in seconds, for writing data to a gpfdist server before the operation is retried or fails.
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.
hive_sync.custom_log4j_conf
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: sighup
Description: Specifies a custom root path for the log4j logging configuration used by the hive sync feature. When left empty, the default logging configuration is used.
hive_sync.enable_hive_metastore_sync
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Controls whether the hive auto sync worker, which synchronizes metadata with the Hive metastore, is started.
hive_sync.memory_limit
Variable Type: Integer
Default Value: 2048
Unit: MB
Value Range: [512,2097151]
Setting Category: sighup
Description: Sets the maximum amount of memory, in MB, that the hive auto sync worker is allowed to use.
hive_sync.register_hive_sync
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether the hive auto sync background worker is registered with SynxDB at startup.
hot_dr
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Designates the current cluster as a disaster recovery (DR) cluster, allowing it to accept connections and serve queries in that role.
hot_standby
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Allows read-only connections and queries to a standby server while it is still in recovery mode.
hot_standby_feedback
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Enables a hot standby to send feedback to the primary about the queries it is currently running, so the primary can avoid removing rows or WAL data that the standby still needs, reducing query cancellations caused by replication conflicts.
huge_page_size
Variable Type: Integer
Default Value: 0
Unit: kB
Value Range: [0,2147483647]
Setting Category: postmaster
Description: Specifies the size of the huge pages that should be requested when
huge_pagesis enabled. A value of 0 means the platform’s default huge page size is used.
huge_pages
Variable Type: Enum
Default Value: try
Value Range: off, on, try
Setting Category: postmaster
Description: Controls whether SynxDB attempts to use huge pages on Linux or Windows for its main shared memory area. Setting it to
trymakes the server attempt to use huge pages but fall back to the normal allocation if that fails, whileonandoffforce the behavior and cause startup to fail ifoncannot be satisfied.
iceberg_default_catalog
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: user
Description: The default foreign catalog used by
CREATE ICEBERG TABLEwhen the statement omits theCATALOGclause. An empty string means no default catalog is set, and the statement must specifyCATALOGexplicitly. The value is validated against existing foreign catalogs; setting it to a name that does not resolve produces an error.
iceberg_default_volume
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: user
Description: The default foreign volume used by
CREATE ICEBERG TABLEwhen the statement omits theVOLUMEclause. An empty string means no default volume is set. The value is validated against existing foreign volumes; setting it to a name that does not resolve produces an error. All catalog types, including Polaris, require a foreign volume, so this default applies regardless of catalog type.
idle_in_transaction_session_timeout
Variable Type: Integer
Default Value: 0
Unit: ms
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum allowed idle time between queries while a session is inside an open transaction. If a session remains idle in this state longer than the configured time, SynxDB terminates it. A value of 0 disables the timeout.
idle_session_timeout
Variable Type: Integer
Default Value: 0
Unit: ms
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum allowed idle time between queries when a session is not inside a transaction. If a session stays idle outside a transaction longer than the configured time, SynxDB terminates it. A value of 0 disables the timeout.
ignore_checksum_failure
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB continues processing after detecting a page checksum failure, instead of aborting the current transaction with an error. When enabled, the system still reports a warning but continues, which can lead to crashes or further data corruption; the setting only takes effect when checksums are enabled on the cluster.
ignore_invalid_pages
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether recovery continues after encountering WAL records that reference invalid pages, instead of raising a PANIC-level error and aborting recovery. Enabling this only reports a warning and lets recovery proceed, but it might cause crashes, data loss, or hide underlying corruption, and it only has an effect during recovery or in standby mode.
in_hot_standby
Variable Type: Boolean
Default Value: off
Setting Category: internal
Description: Shows whether the current server is operating as a hot standby that accepts read-only queries. This is a read-only status parameter and cannot be set directly.
integer_datetimes
Variable Type: Boolean
Default Value: on
Setting Category: internal
Description: Shows whether date and time values are stored internally using 64-bit integers rather than floating-point numbers. This is a read-only status parameter determined at build time.
IntervalStyle
Variable Type: Enum
Default Value: postgres
Value Range: postgres, postgres_verbose, sql_standard, iso_8601
Setting Category: user
Description: Sets the display format used for interval values in SynxDB.
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.
join_collapse_limit
Variable Type: Integer
Default Value: 13
Value Range: [1,2147483647]
Setting Category: user
Description: Sets the FROM-list size beyond which explicit JOIN constructs are no longer flattened into a single list of FROM items during planning. The planner flattens explicit joins whenever the resulting FROM-item list would not exceed this many items, which can influence how many join orderings the optimizer considers.
krb_caseins_users
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Determines whether Kerberos and GSSAPI user principal names are matched case-insensitively against database role names during authentication.
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.
lc_collate
Variable Type: String
Default Value: C
Setting Category: internal
Description: Shows the locale used for collation order (sorting of text values) in the current database. This value is fixed when the database is created and cannot be changed afterward.
lc_ctype
Variable Type: String
Default Value: C
Setting Category: internal
Description: Shows the locale used for character classification and case conversion (such as determining which characters are letters and how to convert case) in the current database. This value is fixed when the database is created and cannot be changed afterward.
lc_messages
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: superuser
Description: Sets the language in which server messages are displayed. An empty value causes the server to use the locale inherited from its environment.
lc_monetary
Variable Type: String
Default Value: C
Setting Category: user
Description: Sets the locale used for formatting monetary amounts, such as the currency symbol, decimal separator, and grouping of digits, for functions and operators that display monetary values.
lc_numeric
Variable Type: String
Default Value: C
Setting Category: user
Description: Sets the locale that SynxDB uses to format numeric values, such as the decimal point character and digit grouping, for display purposes.
lc_time
Variable Type: String
Default Value: C
Setting Category: user
Description: Sets the locale that SynxDB uses to format date and time values for display purposes.
listen_addresses
Variable Type: String
Default Value: localhost
Setting Category: postmaster
Description: Specifies the host names or IP addresses on which the server listens for client connections. You can specify multiple addresses as a comma-separated list.
*makes the server listen on all available network interfaces, whereaslocalhostaccepts connections only from the local machine.
lo_compat_privileges
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Enables a backward-compatible mode that skips privilege checks when reading or modifying large objects, matching the behavior of PostgreSQL releases before 9.0.
local_preload_libraries
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: user
Description: Specifies a comma-separated list of shared libraries that non-superuser sessions are allowed to preload into their own backend process at connection start.
lock_timeout
Variable Type: Integer
Default Value: 0
Unit: ms
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum time a statement will wait while trying to acquire a lock on a table, index, or other database object before the statement is aborted. A value of 0 disables the timeout.
log_autostats
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB logs details about
ANALYZEoperations that are automatically triggered as part of statistics collection.
log_autovacuum_min_duration
Variable Type: Integer
Default Value: -1
Unit: ms
Value Range: [-1,2147483647]
Setting Category: sighup
Description: Sets the minimum execution time above which autovacuum actions are written to the server log. A value of 0 logs all autovacuum actions, and the default value of -1 disables this logging.
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.
log_connections
Variable Type: Boolean
Default Value: off
Setting Category: superuser-backend
Description: Controls whether each successful connection to the server is recorded in the server log.
log_disconnections
Variable Type: Boolean
Default Value: off
Setting Category: superuser-backend
Description: Controls whether the end of each session is recorded in the server log, including the duration of the session.
log_dispatch_stats
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB writes performance statistics for the query dispatcher to the server log.
log_duration
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether the duration of every completed SQL statement is recorded in the server log.
log_error_verbosity
Variable Type: Enum
Default Value: default
Value Range: terse, default, verbose
Setting Category: superuser
Description: Controls the amount of detail included in messages logged by the server, ranging from terse (least detail) to verbose (most detail, including source code location).
log_executor_stats
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether performance statistics collected from the query executor are written to the server log.
log_file_mode
Variable Type: Integer
Default Value: 384
Value Range: [0,511]
Setting Category: sighup
Description: Sets the file permission mode applied to log files created by the logging collector. The value is a numeric mode in the form accepted by the
chmodandumasksystem calls; to express it in the customary octal notation, the number must start with a leading 0.
log_hostname
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Controls whether connection log entries record the connecting host’s name instead of only its IP address. Enabling this option might introduce a noticeable performance penalty depending on the host name resolution setup.
log_lock_waits
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB writes a log message whenever a session waits longer than
deadlock_timeoutto acquire a lock.
log_min_duration_sample
Variable Type: Integer
Default Value: -1
Unit: ms
Value Range: [-1,2147483647]
Setting Category: superuser
Description: Sets the minimum execution time above which a sample of statements is logged, with the sampling fraction controlled by
log_statement_sample_rate. A value of 0 samples all queries, while -1 disables this feature.
log_min_duration_statement
Variable Type: Integer
Default Value: -1
Unit: ms
Value Range: [-1,2147483647]
Setting Category: superuser
Description: Sets the minimum execution time above which all statements are logged. A value of 0 logs every query, while -1 disables this feature.
log_min_error_statement
Variable Type: Enum
Default Value: error
Value Range: debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, log, fatal, panic
Setting Category: superuser
Description: Causes the SQL statement that generated an error at or above the specified severity level to be logged along with the error message. Each level includes all the levels that follow it, so a stricter (later) level results in fewer statements being logged.
log_min_messages
Variable Type: Enum
Default Value: warning
Value Range: debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, log, fatal, panic
Setting Category: superuser
Description: Sets the minimum severity level of messages that are written to the server log. Each level includes all the levels that follow it, so a stricter (later) level results in fewer messages being logged.
log_parameter_max_length
Variable Type: Integer
Default Value: -1
Unit: B
Value Range: [-1,1073741823]
Setting Category: superuser
Description: When logging statements that use bind parameters, limits the logged value of each parameter to the first N bytes. A value of -1, the default, prints parameter values in full.
log_parameter_max_length_on_error
Variable Type: Integer
Default Value: 0
Unit: B
Value Range: [-1,1073741823]
Setting Category: user
Description: When reporting an error, limits the logged value of each bind parameter to the first N bytes. A value of -1 prints parameter values in full, while the default of 0 disables inclusion of parameter values in error reports.
log_parser_stats
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB writes performance statistics of the query parser to the server log.
log_planner_stats
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB writes performance statistics of the query planner to the server log.
log_recovery_conflict_waits
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Controls whether SynxDB logs a message when a standby server has to wait longer than
deadlock_timeoutdue to a recovery conflict.
log_replication_commands
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB logs each replication command received from a standby or streaming replication client.
log_rotation_age
Variable Type: Integer
Default Value: 1440
Unit: min
Value Range: [0,35791394]
Setting Category: sighup
Description: Sets the maximum lifetime of an individual log file before automatic rotation to a new file occurs. Setting this to 0 disables time-driven log rotation.
log_rotation_size
Variable Type: Integer
Default Value: 1048576
Unit: kB
Value Range: [0,2097151]
Setting Category: sighup
Description: Sets the maximum size an individual log file can reach before automatic rotation to a new file occurs. Setting this to 0 disables size-driven log rotation.
log_statement
Variable Type: Enum
Default Value: none
Value Range: none, ddl, mod, all
Setting Category: superuser
Description: Controls which categories of SQL statements are logged:
ddllogs data definition statements,modadditionally logs data-modifying statements, andalllogs every statement.
log_statement_sample_rate
Variable Type: Real
Default Value: 1
Value Range: [0,1]
Setting Category: superuser
Description: Sets the fraction of statements exceeding
log_min_duration_samplethat are actually logged, expressed as a value between 0.0 (never log) and 1.0 (always log).
log_statement_stats
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB writes cumulative performance statistics for each executed statement to the server log.
log_temp_files
Variable Type: Integer
Default Value: -1
Unit: kB
Value Range: [-1,2147483647]
Setting Category: superuser
Description: Logs the use of temporary files that are larger than the specified size (in kilobytes); setting this to 0 logs all temporary files, while the default value of -1 disables this logging.
log_timezone
Variable Type: String
Default Value: GMT
Setting Category: sighup
Description: Sets the time zone used for timestamps written in the server log, independent of the time zone used for displaying data to clients.
log_transaction_sample_rate
Variable Type: Real
Default Value: 0
Value Range: [0,1]
Setting Category: superuser
Description: Sets the fraction of transactions for which all statements are logged, expressed as a value between 0.0 (never log) and 1.0 (log all statements for all transactions).
log_truncate_on_rotation
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Controls whether an existing log file of the same name is truncated rather than appended to when log rotation creates a new log file.
logging_collector
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether a subprocess is started to capture stderr output and/or CSV log output into log files.
logical_decoding_work_mem
Variable Type: Integer
Default Value: 65536
Unit: kB
Value Range: [64,2147483647]
Setting Category: user
Description: Sets the maximum amount of memory that each internal logical decoding reorder buffer can use before it spills its accumulated changes to disk.
maintenance_io_concurrency
Variable Type: Integer
Default Value: 10
Value Range: [0,1000]
Setting Category: user
Description: Sets the number of concurrent I/O operations that SynxDB expects can be executed at the same time during maintenance work, acting as a maintenance-specific counterpart to
effective_io_concurrency.
maintenance_work_mem
Variable Type: Integer
Default Value: 65536
Unit: kB
Value Range: [1024,2147483647]
Setting Category: user
Description: Sets the maximum amount of memory used for maintenance operations, such as
VACUUMandCREATE INDEX.
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_files_per_process
Variable Type: Integer
Default Value: 1000
Value Range: [64,2147483647]
Setting Category: postmaster
Description: Sets the maximum number of files that each server process can keep open at the same time.
max_function_args
Variable Type: Integer
Default Value: 100
Value Range: [100,100]
Setting Category: internal
Description: Shows the maximum number of arguments that a function can accept; this is a compiled-in limit and cannot be changed.
max_identifier_length
Variable Type: Integer
Default Value: 63
Value Range: [63,63]
Setting Category: internal
Description: Shows the maximum length, in bytes, allowed for identifiers such as table, column, and index names; this is a compiled-in limit and cannot be changed.
max_index_keys
Variable Type: Integer
Default Value: 32
Value Range: [32,32]
Setting Category: internal
Description: Shows the maximum number of columns that can be used in an index; this is a compiled-in limit and cannot be changed.
max_locks_per_transaction
Variable Type: Integer
Default Value: 128
Value Range: [10,2147483647]
Setting Category: postmaster
Description: Sets the average number of object locks allocated for each transaction; the shared lock table is sized on the assumption that at most
max_locks_per_transaction * max_connectionsdistinct objects will need to be locked at any one time.
max_logical_replication_workers
Variable Type: Integer
Default Value: 4
Value Range: [0,262143]
Setting Category: postmaster
Description: Sets the maximum number of logical replication worker processes, including both leader apply workers and table synchronization workers.
max_parallel_maintenance_workers
Variable Type: Integer
Default Value: 2
Value Range: [0,1024]
Setting Category: user
Description: Sets the maximum number of parallel worker processes that a single maintenance operation, such as
CREATE INDEXorVACUUM, can use.
max_parallel_workers
Variable Type: Integer
Default Value: 8
Value Range: [0,1024]
Setting Category: user
Description: Sets the maximum number of parallel worker processes that SynxDB can have active across the entire system at one time.
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_pred_locks_per_page
Variable Type: Integer
Default Value: 2
Value Range: [0,2147483647]
Setting Category: sighup
Description: Sets the maximum number of predicate locks that can be held on tuples within a single page. If more than this number of tuples on the same page are locked by a connection, those locks are replaced by a single page-level predicate lock.
max_pred_locks_per_relation
Variable Type: Integer
Default Value: -2
Value Range: [-2147483648,2147483647]
Setting Category: sighup
Description: Sets the maximum number of predicate-locked pages and tuples that can exist per relation. If more than this total of pages and tuples in the same relation are locked by a connection, those locks are replaced by a single relation-level predicate lock.
max_pred_locks_per_transaction
Variable Type: Integer
Default Value: 64
Value Range: [10,2147483647]
Setting Category: postmaster
Description: Sets the maximum number of predicate locks that a single transaction can hold. The shared predicate lock table is sized on the assumption that at most
max_pred_locks_per_transaction * max_connectionsdistinct objects will need to be locked at any one time.
max_prepared_transactions
Variable Type: Integer
Default Value: 50
Value Range: [1,262143]
Setting Category: postmaster
Description: Sets the maximum number of transactions that can be in the prepared state at the same time as part of two-phase commit.
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 at the same time.
max_resource_portals_per_transaction
Variable Type: Integer
Default Value: 64
Value Range: [0,2147483647]
Setting Category: postmaster
Description: Sets the maximum number of portals (cursors) that a single transaction can hold open at the same time under resource queue-based workload management.
max_resource_queues
Variable Type: Integer
Default Value: 9
Value Range: [0,2147483647]
Setting Category: postmaster
Description: Sets the maximum number of resource queues that can be created for resource queue-based workload management.
max_running_tasks
Variable Type: Integer
Default Value: 5
Value Range: [1,262143]
Setting Category: postmaster
Description: Sets the maximum number of background tasks that can be running at the same time.
max_slot_wal_keep_size
Variable Type: Integer
Default Value: -1
Unit: MB
Value Range: [-1,2147483647]
Setting Category: sighup
Description: Sets the maximum amount of WAL that can be reserved by replication slots. Replication slots are marked as failed, and their WAL segments become eligible for deletion or recycling, if this much space would otherwise be occupied by WAL retained on disk. The default value of -1 means no such limit is enforced.
max_stack_depth
Variable Type: Integer
Default Value: 100
Unit: kB
Value Range: [100,2147483647]
Setting Category: superuser
Description: Sets the maximum depth of the server’s execution stack, in kilobytes. Exceeding this depth causes the server to assume it has encountered infinite recursion and terminate the process to prevent a crash.
max_standby_archive_delay
Variable Type: Integer
Default Value: 30000
Unit: ms
Value Range: [-1,2147483647]
Setting Category: sighup
Description: Sets the maximum delay, in milliseconds, before canceling queries on a hot standby server while it is applying WAL data read from archived WAL files.
max_standby_streaming_delay
Variable Type: Integer
Default Value: 30000
Unit: ms
Value Range: [-1,2147483647]
Setting Category: sighup
Description: Sets the maximum delay, in milliseconds, before canceling queries on a hot standby server while it is applying WAL data streamed from the primary server.
max_statement_mem
Variable Type: Integer
Default Value: 2048000
Unit: kB
Value Range: [32768,2147483647]
Setting Category: superuser
Description: Sets the upper limit, in kilobytes, that the
statement_memsetting can be set to for a given statement.
max_sync_workers_per_subscription
Variable Type: Integer
Default Value: 2
Value Range: [0,262143]
Setting Category: sighup
Description: Sets the maximum number of table synchronization worker processes that a single logical replication subscription can use at one time.
max_wal_senders
Variable Type: Integer
Default Value: 10
Value Range: [0,262143]
Setting Category: postmaster
Description: Sets the maximum number of concurrent WAL sender processes, which are used for streaming replication and WAL archiving connections in SynxDB.
max_wal_size
Variable Type: Integer
Default Value: 1024
Unit: MB
Value Range: [2,2147483647]
Setting Category: sighup
Description: Sets the maximum size the WAL is allowed to grow to between automatic checkpoints; exceeding this size triggers a checkpoint.
max_worker_processes
Variable Type: Integer
Default Value: 14
Value Range: [1,262143]
Setting Category: postmaster
Description: Sets the maximum number of background worker processes that SynxDB can start concurrently, including those used by parallel queries and extensions.
min_parallel_index_scan_size
Variable Type: Integer
Default Value: 16
Unit: 32kB
Value Range: [0,715827882]
Setting Category: user
Description: Sets the minimum amount of index data that must be scanned for the planner to consider a parallel index scan; if the estimated number of pages to read is smaller than this threshold, a parallel scan is not considered.
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.
min_wal_size
Variable Type: Integer
Default Value: 320
Unit: MB
Value Range: [2,2147483647]
Setting Category: sighup
Description: Sets the minimum size to which the WAL is shrunk during automatic checkpoints, as long as WAL usage stays below this threshold.
old_snapshot_threshold
Variable Type: Integer
Default Value: -1
Unit: min
Value Range: [-1,86400]
Setting Category: postmaster
Description: Sets how long a snapshot can be used before it is considered too old to read pages that have since been modified. A value of -1 disables this feature.
optimizer
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the GPORCA query optimizer is enabled for generating execution plans in SynxDB.
optimizer_agg_pds_strategy
Variable Type: Integer
Default Value: 0
Value Range: [0,3]
Setting Category: user
Description: Sets the strategy GPORCA uses to determine the required data distribution for aggregate operations.
optimizer_analyze_root_partition
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether
ANALYZEalso collects statistics on the root partitions of partitioned tables when GPORCA is enabled.
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_control
Variable Type: Boolean
Default Value: on
Setting Category: superuser
Description: Controls whether superusers are allowed to turn the
optimizersetting on or off.
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_disable_dynamic_table_scan
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether GPORCA disables dynamic sequential, bitmap, and index scans on partitioned tables.
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_associativity
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether GPORCA considers join associativity transformations when generating query plans.
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
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether GPORCA generates index-only scan plans, including parallel index-only scans. An index-only scan reads values directly from an index without accessing table data blocks. This parameter applies only when
optimizerison; the Postgres query optimizer usesenable_indexonlyscan. This hidden parameter does not appear ingpconfig -l.
optimizer_enable_indexscan
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether GPORCA generates index scan plans, including parallel index scans. When set to
off, GPORCA uses other scan methods, such as sequential scans. This parameter applies only whenoptimizerison; the Postgres query optimizer usesenable_indexscan. This hidden parameter does not appear ingpconfig -l.
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_hashjoin
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether GPORCA can generate execution plans that use parallel hash joins.
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_enable_parallel_window
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether GPORCA can generate execution plans that use parallel window aggregate operations.
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_replicated_table
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether GPORCA can generate plans that involve replicated tables in SynxDB.
optimizer_enable_right_join_flip
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether the GPORCA optimizer can flip semi and anti hash joins into right semi and anti hash joins, so that GPORCA builds the hash table on the smaller side.
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_enable_scalar_subq_filter_pushdown
Parameter Type: Boolean
Default Value: off
Setting Category: coordinator, session, reload
Description: When GPORCA is enabled (default), this parameter controls whether GPORCA rewrites a correlated scalar subquery that aggregates on the join key into an equivalent window aggregate over the join result. The rewrite removes one aggregation and one join from the plan.
The rewrite applies only when the subquery’s correlation predicate matches a join predicate of the enclosing query on the same key pair. Queries that do not meet this condition keep their original plan shape. This parameter has no effect when
optimizerisoff. See GPORCA Performance Tuning.
optimizer_force_multistage_agg
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Forces GPORCA to always choose a multistage aggregate plan whenever such a plan alternative is available, rather than letting the optimizer choose based on cost.
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: Boolean
Default Value: off
Setting Category: user
Description: Forces GPORCA to split a qualifying window function into local and global
WindowAggphases. The local phase filters rows before data redistribution, which can reduce data skew and bottlenecks for window queries with selective filter conditions. This hidden parameter does not appear ingpconfig -l.
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_force_window_hash_agg
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Forces GPORCA to use hash-based aggregation for window functions instead of sort-based aggregation. This can reduce data skew and single-point bottlenecks caused by sorting during window aggregation.
optimizer_join_arity_for_associativity_commutativity
Variable Type: Integer
Default Value: 18
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum number of children an n-ary join can have before GPORCA disables the join associativity and commutativity transformation for that join.
optimizer_join_order
Variable Type: Enum
Default Value: exhaustive2
Value Range: query, greedy, exhaustive, exhaustive2
Setting Category: user
Description: Sets the join-ordering heuristic model that GPORCA uses when exploring alternative join orders for a query.
querypreserves the order as written,greedyandexhaustive/exhaustive2apply increasingly thorough search strategies to find a lower-cost join order.
optimizer_join_order_threshold
Variable Type: Integer
Default Value: 10
Value Range: [0,12]
Setting Category: user
Description: Sets the maximum number of join children for which GPORCA uses the dynamic-programming-based join ordering algorithm; beyond this threshold a different join-ordering heuristic is used.
optimizer_mdcache_size
Variable Type: Integer
Default Value: 16384
Unit: kB
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the size of the metadata cache (MDCache) that GPORCA uses to store metadata retrieved during query optimization.
optimizer_metadata_caching
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether GPORCA caches and reuses metadata across query optimization, reducing the need to repeatedly fetch the same metadata.
optimizer_minidump
Variable Type: Enum
Default Value: onerror
Value Range: onerror, always
Setting Category: user
Description: Controls when GPORCA generates a minidump file capturing the optimization context for a query.
onerrorgenerates a minidump only when an error occurs during optimization, whilealwaysgenerates one for every query.
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_parallel_cte_max_nested_producers
Variable Type: Integer
Default Value: 5
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum number of nested CTE producers allowed before GPORCA falls back to the PostgreSQL planner when parallel mode is enabled; a producer counts as nested if its body references at least one other CTE consumer. A value of 0 means unlimited.
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_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_streaming_hashagg
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether GPORCA uses a streaming hash aggregate for local partial aggregations. When set to
off, GPORCA uses a non-streaming partial hash aggregate that can spill to disk and fully deduplicates rows before passing results upstream. This parameter applies only whenoptimizerison. This hidden parameter does not appear ingpconfig -l.
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_valuescan_threshold
Variable Type: Integer
Default Value: 100
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum number of values GPORCA allows in a single query’s value scan (such as a
VALUESlist) before falling back to an alternative plan.
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_leader_participation
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the leader process also executes subplans in Gather and Gather Merge nodes, rather than only gathering tuples produced by worker processes.
parallel_query_use_streaming_hashagg
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether parallel query execution can use a streaming hash aggregate plan for
DISTINCToperations.
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.
parallel_tuple_cost
Variable Type: Real
Default Value: 0.1
Value Range: [0,1.79769e+308]
Setting Category: user
Description: Sets the planner’s estimate of the cost of transferring each tuple (row) from a parallel worker process to the leader backend process, used when costing parallel query plans.
password_encryption
Variable Type: Enum
Default Value: scram-sha-256
Value Range: md5, scram-sha-256
Setting Category: user
Description: Selects the algorithm used to encrypt passwords when they are stored or changed via
CREATE ROLEorALTER ROLE, if the password is not already provided in a pre-encrypted form.
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.bloom_filter_work_memory_bytes
Variable Type: Integer
Default Value: 10240
Value Range: [1024,2147483647]
Setting Category: user
Description: Sets the amount of working memory, in bytes, that the PAX storage format allocates for building a bloom filter when writing data.
pax.chunk_index_rows
Variable Type: Integer
Default Value: 8192
Value Range: [1024,131072]
Setting Category: user
Description: The number of rows in each chunk that PAX writes when
pax.enable_chunk_indexis on. The smaller the chunk, the less data a sparse fetch through an index decompresses, but the compression ratio drops and storage grows. For more information, see Speed up sparse fetches that go through an index.
pax.default_storage_format
Variable Type: String
Default Value: porc
Setting Category: user
Description: Specifies the default on-disk storage format used when creating a PAX table in SynxDB.
pax.enable_chunk_index
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Controls whether a write splits each compressed column into chunks of a fixed row count, compresses every chunk on its own, and records where each chunk starts at the head of the column stream. When this parameter is on, fetching a few scattered rows through an index decompresses only the chunk that holds the matching row instead of the whole group. The parameter applies to the data you write after you set it. A read decodes each data file by its actual format, regardless of the current value.
pax.chunk_index_rowssets the number of rows per chunk. For more information, see Speed up sparse fetches that go through an index.
pax.enable_debug
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether additional debug information is emitted for the PAX storage engine.
pax.enable_fast_filter
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Controls whether the PAX vectorized scan uses a native fast filter path for simple predicates (
=,<>,<,<=,>,>=,IN, andLIKE '%substr%'). When this parameter is on, the scan reads only the filter columns first, evaluates the qualifying predicates natively, and reads the remaining output columns only for the rows that survive. If all rows in a group are filtered out, the scan skips reading the remaining columns for that group entirely. The executor removes the predicates that the fast filter handles from the ArrowFilterNode, so the system never evaluates them twice. For more information, see Use fast filter for two-phase column read.
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.
pax.enable_row_filter
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether row-level filtering is applied when scanning PAX tables.
pax.enable_sparse_filter
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether sparse filtering, based on min/max and bloom filter statistics, is used to skip irrelevant data during PAX table scans.
pax.enable_toast
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether TOAST storage is enabled for PAX tables.
pax.log_filter_tree
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the filter tree used during PAX table scans is written to the log, primarily for diagnostic purposes.
pax.max_size_per_file
Variable Type: Integer
Default Value: 67108864
Value Range: [8388608,335544320]
Setting Category: user
Description: Sets the default maximum size, in bytes, that a single PAX data file is allowed to reach before a new file is started.
pax.max_tuples_per_file
Variable Type: Integer
Default Value: 1310720
Value Range: [131072,8388608]
Setting Category: user
Description: Sets the default maximum number of tuples allowed in a single PAX data file before a new file is started.
pax.max_tuples_per_group
Variable Type: Integer
Default Value: 131072
Value Range: [5,524288]
Setting Category: user
Description: Sets the default maximum number of tuples allowed in a single group within a PAX data file.
pax.min_size_of_compress_toast
Variable Type: Integer
Default Value: 524288
Value Range: [524288,1073741824]
Setting Category: user
Description: Sets the minimum value size, in bytes, above which PAX creates a compressed TOAST entry rather than storing the value inline.
pax.min_size_of_external_toast
Variable Type: Integer
Default Value: 10485760
Value Range: [10485760,2147483647]
Setting Category: user
Description: Sets the minimum value size, in bytes, above which PAX creates an external TOAST entry rather than storing the value inline or as a compressed TOAST entry.
pax.scan_reuse_buffer_size
Variable Type: Integer
Default Value: 8388608
Value Range: [1048576,33554432]
Setting Category: user
Description: Sets the size, in bytes, of the buffer that PAX reuses across scans to reduce repeated memory allocation.
perfmon.enable
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether perfmon monitoring is enabled for the SynxDB instance.
perfmon.port
Variable Type: Integer
Default Value: 8888
Value Range: [1024,65535]
Setting Category: postmaster
Description: Sets the port number that the perfmon monitoring service listens on.
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 might 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 might 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.gopher_master_port
Variable Type: Integer
Default Value: 6789
Value Range: [0,65535]
Setting Category: user
Description: Sets the port used by the master TCP socket for the gopher metadata process.
pg_gophermeta.gopher_oss_liboss2_log_level
Variable Type: String
Default Value: WARNING
Value Range: DEBUG3, DEBUG2, DEBUG1, INFO, WARNING, ERROR, FATAL
Setting Category: sighup
Description: Sets the log severity level for the Gopher OSS LIBOSS2 component used by SynxDB to access object storage. Only messages at or above the configured severity are logged.
pg_gophermeta.gopher_oss_log_level
Variable Type: String
Default Value: WARNING
Value Range: DEBUG3, DEBUG2, DEBUG1, INFO, WARNING, ERROR, FATAL
Setting Category: sighup
Description: Sets the log severity level for the Gopher OSS component used by SynxDB to access object storage. Only messages at or above the configured severity are logged.
pg_gophermeta.gopher_plasma_size_mb
Variable Type: Integer
Default Value: 0
Unit: MB
Value Range: [0,2147483647]
Setting Category: postmaster
Description: Sets the footprint, in MB, of the Plasma L1 read cache that the GopherMeta process keeps in shared memory.
0disables the cache, and a positive value enables it with that footprint. This cache lives in/dev/shm, whose ceiling defaults to half of physical memory. A footprint above that ceiling makes the GopherMeta process fail at startup.
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.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.
plan_cache_mode
Variable Type: Enum
Default Value: auto
Value Range: auto, force_generic_plan, force_custom_plan
Setting Category: user
Description: Controls how the planner chooses between a custom plan and a generic plan for prepared statements. By default the planner decides automatically which type is likely to perform better, but this parameter can force it to always use a custom or always use a generic plan.
pljava_classpath
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: superuser
Description: Specifies the classpath used by the JVM when running PL/Java functions in SynxDB.
pljava_classpath_insecure
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether a non-superuser is allowed to set
pljava_classpathon a per-session basis.
pljava_release_lingering_savepoints
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Determines how savepoints left open by a PL/Java function are handled when the function exits. When enabled, any lingering savepoints are released; when disabled, they are rolled back instead.
pljava_statement_cache_size
Variable Type: Integer
Default Value: 0
Value Range: [0,512]
Setting Category: superuser
Description: Sets the size of the most-recently-used (MRU) cache for prepared statements used by PL/Java.
pljava_vmoptions
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: superuser
Description: Specifies the options passed to the JVM when it is created for running PL/Java functions in SynxDB.
port
Variable Type: Integer
Default Value: 5432
Value Range: [1,65535]
Setting Category: postmaster
Description: Specifies the TCP port on which the server listens for client connections.
primary_conninfo
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: sighup
Description: Sets the connection string that a standby server uses to connect to the primary (sending) server for streaming replication.
primary_slot_name
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: sighup
Description: Sets the name of the replication slot that the standby uses on the sending (primary) server for streaming replication.
promote_trigger_file
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: sighup
Description: Specifies the name of a file whose presence on a standby server ends recovery and promotes the standby to a primary.
quote_all_identifiers
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether identifiers are always quoted when SynxDB generates SQL fragments, such as when reconstructing queries or DDL statements.
random_page_cost
Variable Type: Real
Default Value: 4
Value Range: [0,1.79769e+308]
Setting Category: user
Description: Sets the planner’s estimate of the cost of fetching a disk page that is not part of a sequential scan, used when comparing plans that rely on random versus sequential I/O.
readable_external_table_timeout
Variable Type: Integer
Default Value: 0
Unit: s
Value Range: [0,2147483647]
Setting Category: user
Description: Cancels a query against a readable external table if no data is read within the configured number of seconds. A value of 0 disables the timeout.
recovery_end_command
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: sighup
Description: Sets the shell command that is executed once when recovery ends on a standby server.
recovery_init_sync_method
Variable Type: Enum
Default Value: fsync
Value Range: fsync, syncfs
Setting Category: sighup
Description: Sets the method SynxDB uses to synchronize the data directory to disk before starting crash recovery, so that recovery begins from a durable on-disk state.
recovery_min_apply_delay
Variable Type: Integer
Default Value: 0
Unit: ms
Value Range: [0,2147483647]
Setting Category: sighup
Description: Sets the minimum delay, in milliseconds, before SynxDB applies changes replayed during recovery, allowing a standby to lag intentionally behind the primary.
recovery_target
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: postmaster
Description: Set this to
immediateto have SynxDB end recovery as soon as a consistent state is reached, rather than continuing to replay further WAL records.
recovery_target_action
Variable Type: Enum
Default Value: pause
Value Range: pause, promote, shutdown
Setting Category: postmaster
Description: Sets the action SynxDB performs once the specified recovery target is reached, such as pausing, promoting to primary, or shutting down.
recovery_target_inclusive
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether SynxDB includes or excludes the transaction identified by the recovery target when stopping recovery.
recovery_target_lsn
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: postmaster
Description: Sets the write-ahead log (WAL) location up to which SynxDB replays records during recovery.
recovery_target_name
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: postmaster
Description: Sets the named restore point up to which SynxDB replays WAL records during recovery.
recovery_target_time
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: postmaster
Description: Sets the timestamp up to which SynxDB replays WAL records during recovery.
recovery_target_timeline
Variable Type: String
Default Value: latest
Setting Category: postmaster
Description: Specifies the timeline into which SynxDB recovers, for example the latest available timeline or a specific one.
recovery_target_xid
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: postmaster
Description: Sets the transaction ID up to which SynxDB replays WAL records during recovery.
remove_temp_files_after_crash
Variable Type: Boolean
Default Value: on
Setting Category: sighup
Description: Controls whether SynxDB removes temporary files left behind after a backend process crashes.
repl_catchup_within_range
Variable Type: Integer
Default Value: 1
Value Range: [0,1]
Setting Category: superuser
Description: Sets the maximum number of WAL segments a walsender can lag behind while still in the catchup phase before backends waiting on it are allowed to start blocking.
resource_cleanup_gangs_on_wait
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether SynxDB cleans up idle query executor gangs before a session waits on a resource lock.
resource_scheduler
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Enables the resource scheduling mechanism in SynxDB, which manages and limits concurrent query resource usage.
resource_select_only
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether resource locking applies only to
SELECTstatements, rather than to all resource-scheduled queries.
restart_after_crash
Variable Type: Boolean
Default Value: on
Setting Category: sighup
Description: Controls whether SynxDB automatically reinitializes the server and all backend processes after a backend crash, instead of requiring a manual restart.
restore_command
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: sighup
Description: Specifies the shell command that SynxDB invokes to retrieve an archived WAL file during recovery.
restrict_nonsystem_relation_kind
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: user
Description: Specifies a comma-separated list of relation kinds (such as view or foreign-table) that SynxDB restricts from being used for non-system relations.
row_security
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Enables row-level security so that applicable row security policies are applied to all users, including table owners, when accessing tables.
runaway_detector_activation_percent
Variable Type: Integer
Default Value: 90
Value Range: [0,100]
Setting Category: postmaster
Description: Sets the percentage of the vmem quota that must be exceeded for the runaway detector to activate and start terminating queries. Setting this to 0 or 100 disables the runaway detector.
search_path
Variable Type: String
Default Value: “$user”, public
Setting Category: user
Description: Sets the order in which schemas are searched when an object is referenced without an explicit schema qualification.
segment_size
Variable Type: Integer
Default Value: 32768
Unit: 32kB
Value Range: [32768,32768]
Setting Category: internal
Description: Shows the number of pages per disk file used to store a relation segment. This is a compile-time constant and cannot be changed at runtime.
seq_page_cost
Variable Type: Real
Default Value: 1
Value Range: [0,1.79769e+308]
Setting Category: user
Description: Sets the query planner’s estimate of the cost of reading a disk page sequentially, used as the baseline unit for other planner cost parameters.
server_encoding
Variable Type: String
Default Value: SQL_ASCII
Setting Category: internal
Description: Shows the character set encoding used by the current database. This value is determined when the database is created and cannot be changed afterward.
server_version
Variable Type: String
Default Value: 14.4
Setting Category: internal
Description: Shows the version of the underlying PostgreSQL-compatible server that SynxDB is built on.
server_version_num
Variable Type: Integer
Default Value: 140000
Value Range: [140000,140000]
Setting Category: internal
Description: Shows the server version as an integer, encoded in the form of major and minor version numbers, so that applications can compare versions numerically.
session_preload_libraries
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: superuser
Description: Lists shared libraries that SynxDB preloads at the start of each new session, without requiring the libraries to be preloaded for the whole server via
shared_preload_libraries.
session_replication_role
Variable Type: Enum
Default Value: origin
Value Range: origin, replica, local
Setting Category: superuser
Description: Controls whether triggers and rewrite rules fire for the current session, allowing SynxDB sessions to behave as the origin, a replica, or a purely local session in replication scenarios.
ssl
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Enables SSL connections to the server. When enabled, SynxDB accepts encrypted client connections in addition to (or instead of) plain-text ones, subject to the other
ssl_*parameters andpg_hba.confrules.
ssl_ca_file
Variable Type: String
Default Value: ‘’
Setting Category: sighup
Description: Specifies the name of the file containing the SSL certificate authority (CA) certificate(s), used to validate client certificates during SSL/TLS handshakes.
ssl_cert_file
Variable Type: String
Default Value: server.crt
Setting Category: sighup
Description: Specifies the name of the file containing the SSL server certificate that SynxDB presents to clients during SSL/TLS connection setup.
ssl_ciphers
Variable Type: String
Default Value: HIGH:MEDIUM:+3DES:!aNULL
Setting Category: sighup
Description: Specifies a list of SSL cipher suites that are allowed to be used for encrypted connections, following the underlying SSL library’s cipher list syntax.
ssl_crl_dir
Variable Type: String
Default Value: ‘’
Setting Category: sighup
Description: Specifies the directory containing SSL certificate revocation list (CRL) files used to check whether client certificates have been revoked.
ssl_crl_file
Variable Type: String
Default Value: ‘’
Setting Category: sighup
Description: Specifies the name of the file containing the SSL certificate revocation list (CRL) used to check whether client certificates have been revoked.
ssl_dh_params_file
Variable Type: String
Default Value: ‘’
Setting Category: sighup
Description: Specifies the name of the file containing Diffie-Hellman (DH) parameters used for SSL/TLS connections negotiated with DH-based cipher suites.
ssl_ecdh_curve
Variable Type: String
Default Value: prime256v1
Setting Category: sighup
Description: Specifies the name of the elliptic curve used for ECDH (Elliptic Curve Diffie-Hellman) key exchange during SSL/TLS connection negotiation.
ssl_key_file
Variable Type: String
Default Value: server.key
Setting Category: sighup
Description: Specifies the name of the file containing the private key corresponding to the SSL server certificate.
ssl_library
Variable Type: String
Default Value: OpenSSL
Setting Category: internal
Description: Shows the name of the SSL library that SynxDB was built with and uses to implement SSL/TLS support.
ssl_max_protocol_version
Variable Type: Enum
Default Value: ‘’
Value Range: ‘’, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
Setting Category: sighup
Description: Sets the maximum SSL/TLS protocol version that SynxDB will negotiate with clients. An empty value means there is no maximum, allowing the underlying SSL library to negotiate the highest version it supports.
ssl_min_protocol_version
Variable Type: Enum
Default Value: TLSv1.2
Value Range: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
Setting Category: sighup
Description: Sets the minimum SSL/TLS protocol version that SynxDB will accept when negotiating connections with clients; connection attempts using an older protocol version are rejected.
ssl_passphrase_command
Variable Type: String
Default Value: ‘’
Setting Category: sighup
Description: Specifies an external command that SynxDB runs to obtain the passphrase for decrypting an encrypted SSL private key file, instead of prompting interactively.
ssl_passphrase_command_supports_reload
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Controls whether
ssl_passphrase_commandis also invoked during a configuration reload (as opposed to only at server start) to obtain the SSL private key passphrase.
ssl_prefer_server_ciphers
Variable Type: Boolean
Default Value: on
Setting Category: sighup
Description: Gives priority to the server’s cipher suite order over the client’s preferences when negotiating a TLS connection.
standard_conforming_strings
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether ordinary string literals (
'...') treat backslashes as literal characters rather than as escape sequences.
statement_mem
Variable Type: Integer
Default Value: 128000
Unit: kB
Value Range: [1000,2147483647]
Setting Category: user
Description: Sets the amount of memory reserved for processing a single SQL statement.
statement_timeout
Variable Type: Integer
Default Value: 0
Unit: ms
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum duration a statement is allowed to run before it is automatically canceled; a value of 0 disables the timeout.
stats_queue_level
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB collects resource-queue-level statistics on database activity.
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.
synchronize_seqscans
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Enables synchronized sequential scans, allowing multiple concurrent scans of the same table to share I/O by starting from the current scan position of another session that is already reading the table.
synchronous_commit
Variable Type: Enum
Default Value: on
Value Range: local, remote_write, remote_apply, on, off
Setting Category: user
Description: Sets the current transaction’s synchronization level, controlling whether and how a transaction commit waits for its WAL records to be flushed to disk or replicated to standby servers.
synchronous_standby_names
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: sighup
Description: Specifies the number of synchronous standby servers required and the names of the potential synchronous standbys, used together with
synchronous_commit.
syslog_sequence_numbers
Variable Type: Boolean
Default Value: on
Setting Category: sighup
Description: Adds a sequence number to each message sent to syslog, preventing the syslog daemon from suppressing messages it mistakenly treats as duplicates.
syslog_split_messages
Variable Type: Boolean
Default Value: on
Setting Category: sighup
Description: Splits messages sent to syslog by line and ensures each chunk fits within 1024 bytes, because some syslog implementations truncate or drop longer messages.
task_enable_superuser_jobs
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether scheduled tasks (cron jobs) can be created and run with superuser privileges.
task_host_addr
Variable Type: String
Default Value: 127.0.0.1
Setting Category: postmaster
Description: Specifies the host address used to connect to SynxDB when running scheduled tasks.
task_log_run
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether every scheduled task run is logged into the
pg_task_run_historytable.
task_log_statement
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether the SQL statement of a scheduled task is logged before it is executed.
task_timezone
Variable Type: String
Default Value: GMT
Setting Category: postmaster
Description: Specifies the time zone used when interpreting the schedules of scheduled tasks (cron jobs).
task_use_background_worker
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether SynxDB uses background workers instead of client sessions to execute tasks.
tcp_keepalives_count
Variable Type: Integer
Default Value: 0
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum number of TCP keepalive retransmits that can be lost before a connection is considered dead. A value of
0uses the system default.
tcp_keepalives_idle
Variable Type: Integer
Default Value: 0
Unit: s
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the interval between issuing TCP keepalive messages on an otherwise idle connection. A value of
0uses the system default.
tcp_keepalives_interval
Variable Type: Integer
Default Value: 0
Unit: s
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the interval between TCP keepalive retransmits when an earlier keepalive message has not been acknowledged. A value of
0uses the system default.
tcp_user_timeout
Variable Type: Integer
Default Value: 0
Unit: ms
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the TCP user timeout, which limits how long transmitted data can remain unacknowledged before the connection is forcibly closed. A value of
0uses the system default.
tde_force_switch
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether TDE (Transparent Data Encryption) is enabled for SynxDB.
tde_kms_ca_cert
Variable Type: String
Default Value: empty
Setting Category: sighup
Description: Path to the PEM CA certificate that verifies the KMS server certificate for tablespace-level TDE. Required when
tde_kms_provideriskmip. Optional when it iscosmian, which falls back to plain HTTP without it. For more information, see Encrypt a single tablespace.
tde_kms_client_cert
Variable Type: String
Default Value: empty
Setting Category: sighup
Description: Path to the PEM client certificate that authenticates SynxDB to the KMS with mutual TLS. Required when
tde_kms_provideriskmip, and recommended when it iscosmian.
tde_kms_client_key
Variable Type: String
Default Value: empty
Setting Category: sighup
Description: Path to the PEM private key that matches
tde_kms_client_cert. Restrict the file to mode0400, owned by the SynxDB administrator.
tde_kms_command
Variable Type: String
Default Value: empty
Setting Category: sighup
Description: Shell command that returns a 256-bit key encryption key as 64 hexadecimal characters on standard output. Required when
tde_kms_providerislocal_cmd. SynxDB runs the command with/bin/sh -con each node, so the command must exist on the coordinator and on every segment host. The%ktoken expands to thekms_key_idof the tablespace, or totde_kms_default_key_idwhenCREATE TABLESPACEomits it.
tde_kms_connect_timeout
Variable Type: Integer
Default Value: 10
Value Range: [1,300]
Setting Category: sighup
Description: Timeout in seconds for establishing the TCP connection to the KMS for tablespace-level TDE.
tde_kms_default_key_id
Variable Type: String
Default Value: empty
Setting Category: sighup
Description: KMS key identifier used to wrap the tablespace data encryption key when
CREATE TABLESPACEomits thekms_key_idoption.
tde_kms_host
Variable Type: String
Default Value: empty
Setting Category: sighup
Description: Hostname or IP address of the KMS server for tablespace-level TDE. Required when
tde_kms_provideriscosmianorkmip. The value applies to whichever provider is active, so a cluster reaches one KMS at a time.
tde_kms_operation_timeout
Variable Type: Integer
Default Value: 30
Value Range: [1,600]
Setting Category: sighup
Description: Timeout in seconds for a single KMS operation, such as wrapping or unwrapping one tablespace data encryption key.
tde_kms_password
Variable Type: String
Default Value: empty
Setting Category: sighup
Description: Credential that authenticates SynxDB to the KMS when the provider does not use a client certificate. Together with
tde_kms_usernameit forms HTTP basic authentication; on its own it is sent as a bearer token. Set it withgpconfig --skipvalidation, as fortde_kms_builtin_passphrase.
tde_kms_port
Variable Type: Integer
Default Value: 5696
Value Range: [1,65535]
Setting Category: sighup
Description: Port of the KMS server for tablespace-level TDE. The default is the port that the KMIP standard reserves. Cosmian KMS serves its REST endpoint on port 9998 by default.
tde_kms_provider
Variable Type: String
Default Value: none
Setting Category: postmaster
Description: KMS provider that wraps the data encryption key of an encrypted tablespace. Valid values are
none,builtin,cosmian,kmip, andlocal_cmd. Withnone,CREATE TABLESPACEcannot create an encrypted tablespace. Each provider needs its own set of parameters, and the cluster fails to start if a required one is missing. For more information, see Choose a KMS provider.
tde_kms_username
Variable Type: String
Default Value: empty
Setting Category: sighup
Description: User name presented to the KMS when the provider authenticates with credentials rather than with a client certificate.
tde_max_tablespace_keys
Variable Type: Integer
Default Value: 128
Value Range: [1,4096]
Setting Category: postmaster
Description: Maximum number of tablespace data encryption keys that a node caches in shared memory. Raise it if the cluster holds more encrypted tablespaces than this limit.
temp_buffers
Variable Type: Integer
Default Value: 1024
Unit: 32kB
Value Range: [100,1073741823]
Setting Category: user
Description: Sets the maximum number of temporary buffers used by each database session for accessing temporary tables.
temp_file_limit
Variable Type: Integer
Default Value: -1
Unit: kB
Value Range: [-1,2147483647]
Setting Category: superuser
Description: Limits the total size of all temporary files used by each process. A value of
-1means no limit is enforced.
temp_tablespaces
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: user
Description: Sets the tablespace(s) to use for temporary tables and for sort files created during query processing.
time_series.bgw_enabled
Variable Type: Boolean
Default Value: on
Setting Category: postmaster
Description: Controls whether the background job scheduler of the
time_seriesextension is enabled. When set toon, the launcher process starts with the cluster and spawns a scheduler process in every database where the extension is installed.
time_series.bgw_launcher_poll_time
Variable Type: Integer
Default Value: 60000 (milliseconds)
Setting Category: sighup
Description: Sets how often the launcher process of the
time_seriesextension pollspg_database. It bounds how long after an extension is created or dropped the launcher takes to spawn or reap the corresponding scheduler process.
time_series.bgw_log_level
Variable Type: Enum
Default Value: warning
Setting Category: superuser
Description: Sets the log level of the background job subsystem of the
time_seriesextension, covering the scheduler and job workers. A configuration reload is required for a change to take effect.
time_series.bgw_scheduler_restart_time
Variable Type: Integer
Default Value: -1 (seconds)
Setting Category: sighup
Description: Sets how long the postmaster waits before respawning a scheduler process that exited abnormally. The default of -1 means the postmaster does not restart it, and recovery is left to the polling loop of the launcher.
time_series.cagg_default_max_retries
Variable Type: Integer
Default Value: -1
Setting Category: user
Description: Sets the default retry count for continuous aggregate refresh jobs. -1 means the retry count is not limited.
time_series.cagg_default_max_runtime
Variable Type: String
Default Value: 0
Setting Category: user
Description: Sets the default maximum runtime for continuous aggregate refresh jobs. 0 means the runtime is not limited.
time_series.chunk_append_max_chunks
Variable Type: Integer
Default Value: 64
Setting Category: user
Description: Sets the maximum number of subplans a ChunkAppend plan node may build. When the time range of a query covers more chunks than this value, the plan falls back to a plain ChunkScan.
time_series.debug_bgw_scheduler_exit_status
Variable Type: Integer
Default Value: 0
Setting Category: sighup
Description: A debugging parameter that specifies the exit status returned by the scheduler process.
time_series.enable_cagg_create
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether continuous aggregates can be created. When set to
off, aCREATE MATERIALIZED VIEWstatement carryingWITH (time_series.continuous)is rejected.
time_series.enable_chunk_append
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: Controls whether a ChunkAppend plan node is generated for bucketed queries that order by time and carry a
LIMIT. The node pulls subplans one chunk at a time and stops once theLIMITabove is satisfied, so later chunks are never scanned.
time_series.materializations_per_refresh_window
Variable Type: Integer
Default Value: 10
Setting Category: user
Description: Sets the number of materialization batches within a single refresh window of a continuous aggregate.
time_series.max_background_workers
Variable Type: Integer
Default Value: 16
Setting Category: postmaster
Description: Sets the upper bound on background processes the
time_seriesextension may hold, covering the launcher and the per-database schedulers. The value should be at least 1 (the launcher) plus the number of databases where the extension is installed.
time_series.max_jobs_per_scheduler
Variable Type: Integer
Default Value: 16
Setting Category: postmaster
Description: Sets the maximum number of job workers a single scheduler process may spawn concurrently. Setting it to 0 disables the worker pool entirely. This parameter differs from
time_series.max_background_workers, which caps the launcher and scheduler processes themselves.
time_series.shutdown_bgw_scheduler
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: When set to
onand the configuration is reloaded, the scheduler process exits. The scheduler restarts after about a minute, so this parameter cannot keep background jobs stopped.
TimeZone
Variable Type: String
Default Value: GMT
Setting Category: user
Description: Sets the time zone used by SynxDB for displaying and interpreting timestamp values.
timezone_abbreviations
Variable Type: String
Default Value: Default
Setting Category: user
Description: Selects the file that defines the set of time zone abbreviations that will be accepted when interpreting timestamps.
trace_recovery_messages
Variable Type: Enum
Default Value: log
Value Range: debug5, debug4, debug3, debug2, debug1, log, notice, warning, error
Setting Category: sighup
Description: Enables logging of recovery-related debugging information at the specified level. Each level includes all the levels that follow it in the list, and setting a later level results in fewer messages being emitted.
track_activities
Variable Type: Boolean
Default Value: on
Setting Category: superuser
Description: Enables collection of information on the command currently being executed by each session, along with the time at which that command began execution.
track_activity_query_size
Variable Type: Integer
Default Value: 1024
Unit: B
Value Range: [100,1048576]
Setting Category: postmaster
Description: Sets the number of bytes reserved to store the current query text for each session in
pg_stat_activity.
track_commit_timestamp
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Controls whether the commit time of each transaction is recorded.
track_counts
Variable Type: Boolean
Default Value: on
Setting Category: superuser
Description: Enables collection of statistics on database activity, such as table and index access counts.
track_functions
Variable Type: Enum
Default Value: none
Value Range: none, pl, all
Setting Category: superuser
Description: Controls whether SynxDB collects function-level call-count and timing statistics. Set to
plto track only procedural-language functions, orallto also track SQL and C-language functions, in addition to their internal calls.
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.
track_wal_io_timing
Variable Type: Boolean
Default Value: off
Setting Category: superuser
Description: Controls whether SynxDB collects timing statistics for WAL (write-ahead log) I/O activity, which can be observed through the relevant statistics views.
transaction_deferrable
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether a read-only serializable transaction is deferred until it can run with no possible serialization failures. This setting has no effect on transactions that are not both
SERIALIZABLEandREAD ONLY.
transaction_isolation
Variable Type: Enum
Default Value: read committed
Value Range: serializable, repeatable read, read committed, read uncommitted
Setting Category: user
Description: Sets the isolation level of the current transaction. This setting takes effect only when set before a transaction starts, or at the very beginning of the transaction.
transaction_read_only
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Sets the read-only status of the current transaction. Once set to
onwithin a transaction, it cannot be changed back toofffor the remainder of that transaction.
transform_null_equals
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether expressions of the form
expr = NULL(orNULL = expr) are treated asexpr IS NULL, returning true whenexprevaluates to null and false otherwise. Per the SQL standard, the correct behavior ofexpr = NULLis to always return null (unknown), so this setting should be used only for compatibility with applications that rely on the older, non-standard behavior.
unix_socket_directories
Variable Type: String
Default Value: /tmp
Setting Category: postmaster
Description: Specifies the directories where the server creates Unix-domain sockets for accepting client connections. Multiple directories can be specified as a comma-separated list.
unix_socket_group
Variable Type: String
Default Value: ‘’
Setting Category: postmaster
Description: Sets the owning group of the Unix-domain socket. The owning user of the socket is always the user that starts the server; this setting only affects the group ownership, and an empty value means using the default group of the server-starting user.
unix_socket_permissions
Variable Type: Integer
Default Value: 511
Value Range: [0,511]
Setting Category: postmaster
Description: Sets the access permissions of the Unix-domain socket, following the usual Unix file system permission model. The value is expected to be a numeric mode specification in the form accepted by the
chmodandumasksystem calls; to use the customary octal format, the number must start with a0.
update_process_title
Variable Type: Boolean
Default Value: on
Setting Category: superuser
Description: Controls whether the server updates the process title every time it receives a new SQL command from a client, so the currently active command is visible in process listing tools such as
ps.
vacuum_cost_delay
Variable Type: Real
Default Value: 0
Unit: ms
Value Range: [0,100]
Setting Category: user
Description: Sets the amount of time that
VACUUMsleeps after it has accumulated cost equal tovacuum_cost_limit. When set to a value greater than zero, this throttles the I/O impact of vacuum operations on other database activity.
vacuum_cost_limit
Variable Type: Integer
Default Value: 200
Value Range: [1,10000]
Setting Category: user
Description: Sets the accumulated cost that triggers
VACUUMto sleep for the duration specified byvacuum_cost_delay, allowing the vacuum cost-based delay feature to throttle its I/O impact.
vacuum_cost_page_dirty
Variable Type: Integer
Default Value: 20
Value Range: [0,10000]
Setting Category: user
Description: Sets the estimated cost charged when
VACUUMmodifies a block that was previously clean, used together withvacuum_cost_limitandvacuum_cost_delayto throttle vacuum I/O impact.
vacuum_cost_page_hit
Variable Type: Integer
Default Value: 1
Value Range: [0,10000]
Setting Category: user
Description: Sets the estimated cost charged when
VACUUMfinds a page already present in the shared buffer cache, used together withvacuum_cost_limitandvacuum_cost_delayto throttle vacuum I/O impact.
vacuum_cost_page_miss
Variable Type: Integer
Default Value: 2
Value Range: [0,10000]
Setting Category: user
Description: Sets the estimated cost charged when
VACUUMmust read a page that is not found in the shared buffer cache, used together withvacuum_cost_limitandvacuum_cost_delayto throttle vacuum I/O impact.
vacuum_defer_cleanup_age
Variable Type: Integer
Default Value: 0
Value Range: [0,1000000]
Setting Category: sighup
Description: Specifies the number of transactions by which
VACUUMand HOT (heap-only tuple) cleanup operations are deferred.
vacuum_failsafe_age
Variable Type: Integer
Default Value: 1600000000
Value Range: [0,2100000000]
Setting Category: user
Description: Specifies the transaction ID age at which
VACUUMtriggers its failsafe mechanism to avoid a transaction ID wraparound outage.
vacuum_freeze_min_age
Variable Type: Integer
Default Value: 50000000
Value Range: [0,1000000000]
Setting Category: user
Description: Specifies the minimum transaction ID age at which
VACUUMfreezes a table row.
vacuum_freeze_table_age
Variable Type: Integer
Default Value: 150000000
Value Range: [0,2000000000]
Setting Category: user
Description: Specifies the transaction ID age at which
VACUUMscans the entire table to freeze tuples.
vacuum_multixact_failsafe_age
Variable Type: Integer
Default Value: 1600000000
Value Range: [0,2100000000]
Setting Category: user
Description: Specifies the multixact ID age at which
VACUUMtriggers its failsafe mechanism to avoid a multixact ID wraparound outage.
vacuum_multixact_freeze_min_age
Variable Type: Integer
Default Value: 5000000
Value Range: [0,1000000000]
Setting Category: user
Description: Specifies the minimum multixact ID age at which
VACUUMfreezes a MultiXactId found in a table row.
vacuum_multixact_freeze_table_age
Variable Type: Integer
Default Value: 150000000
Value Range: [0,2000000000]
Setting Category: user
Description: Specifies the multixact ID age at which
VACUUMscans the entire table to freeze tuples.
vector.backpressure_memory_mb
Variable Type: Integer
Default Value: 256
Unit: MB
Value Range: [1,8192]
Setting Category: user
Description: Sets the memory budget, in MB, for each SinkNode queue that vectorized execution uses for backpressure in vectorized execution. SynxDB calculates the watermarks for the batch count automatically from this value and the width of the schema. This parameter takes effect only when vectorization is enabled.
vector.control_global_memory_resource
Variable Type: Integer
Default Value: 1
Value Range: [1,10]
Setting Category: user
Description: Sets the global upper limit on execution resources allocated for vectorized query processing in SynxDB.
vector.control_memory_resource
Variable Type: Integer
Default Value: 6
Value Range: [1,8]
Setting Category: user
Description: Sets the minimum level of execution resources allocated for vectorized query processing.
vector.enable_partition_topk
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: With vectorization enabled, controls whether a query whose windows all have a
PARTITION BYis forced to use sort-based window aggregation. Withon, such a query uses sort-based window aggregation, and when it carries a Top-K qualification, Partition Top-K first prunes each partition down to its candidate rows. Withoff, the optimizer can switch to hash-based window aggregation (WindowHashAgg), subject tovector.enable_window_hash_agg. Under hash-based window aggregation,rank()can return wrong ranks, so keep the default value. For details, see Execution methods for window functions.
vector.enable_sonic_hashjoin
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether a vectorized hash join can run on the Sonic join engine. When enabled, the hash join runs on the Sonic engine if the join type, the equi-key column types, and the output column types are all supported. When disabled, the join always takes the regular Arrow hash join path, which lets you compare the performance of the two engines. This parameter takes effect only when vectorization is enabled.
vector.enable_vec_pipeline
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether vectorized scan nodes use pipeline execution mode. This parameter takes effect only when vectorization is enabled.
vector.enable_vector_memory_resource
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether execution resource management is enabled for vectorized query processing.
vector.enable_vector_optimizer
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the optimizer considers execution plans that are better suited for vectorized execution.
vector.enable_vectorization
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the planner can generate vectorized execution plans. Enabling this parameter also sets
gp_interconnect_queue_depthandgp_interconnect_snd_queue_depthto 4096, restoring them to their default values when vectorization is disabled.
vector.enable_window_hash_agg
Variable Type: Boolean
Default Value: on
Setting Category: user
Description: With vectorization enabled, controls whether the optimizer can use hash-based window aggregation (
WindowHashAgg) for window functions. Withoff, all window functions use sort-based window aggregation. Whenvector.enable_partition_topkison, a query whose windows all have aPARTITION BYnever uses hash-based window aggregation, so this parameter only affects windows without aPARTITION BY. Under hash-based window aggregation,rank()can return wrong ranks, so set this parameter toofffor queries that userank(). For details, see Execution methods for window functions.
vector.force_vectorization
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Forces the planner to use vectorized execution plans. If the current optimizer cannot produce a vectorized plan, the planner switches to the other optimizer to regenerate one; if neither optimizer can produce a vectorized plan, the plan produced by the originally configured optimizer is used instead.
vector.gather_motion_take
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether vectorized Gather Motion operations use the take optimization.
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 when vectorization is enabled. For more information, see Vectorization Query Computing.
vector.limit_hashagg_max_total
Variable Type: Integer
Default Value: 1000
Value Range: [0, 10000]
Setting Category: user
Description: Sets the upper bound on
OFFSET + LIMITfor which the vectorized executor applies the Limit+HashAgg early-stop optimization. WhenGROUP BYfeeds directly intoLIMITwithoutORDER BYin between, the executor tracks only the first N groups instead of building the full hash table, which significantly speeds up “top-N by group” queries. The optimization applies only when bothLIMITand anyOFFSETare constant integer literals andOFFSET + LIMITis between 1 and the value of this parameter. Setting to0disables the optimization. This parameter only takes effect when vectorization is enabled. For more information, see Vectorization Query Computing.
vector.max_batch_size
Variable Type: Integer
Default Value: 16384
Value Range: [0,163840]
Setting Category: user
Description: Sets the maximum number of rows that the vectorized executor processes in a single batch.
vector.min_concatenate_rows
Variable Type: Integer
Default Value: 16384
Value Range: [0,65536]
Setting Category: user
Description: Sets the minimum number of rows required before the vectorized executor concatenates motion output batches.
vector.min_redistribute_handle_rows
Variable Type: Integer
Default Value: 0
Value Range: [0,163840]
Setting Category: user
Description: Sets the minimum number of rows that triggers redistribute-based handling in vectorized motion operations.
vector.partition_top_k
Variable Type: Integer
Default Value: 0
Value Range: [0,10000000]
Setting Category: user
Description: Sets the number of top rows the vectorized WindowAgg sort operator selects per partition, allowing it to use a partial (top-k) sort instead of sorting the entire partition.
vector.partition_topk_require_topk_qual
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the vectorized executor builds a Partition Top-K plan for a window query only when the query carries a Top-K qualification, that is, when
<=or<constrains the output ofrank(),dense_rank(), orrow_number(). With the defaultoff, a window query whose windows all have aPARTITION BYuses a sort-based window plan. Withon, a window query without a Top-K qualification uses hash-based window aggregation (WindowHashAgg) instead. Such a query is usually slower, andrank()in it can return wrong ranks. For details, see Execution methods for window functions. Use this parameter to separate the hash window from the sorted one during investigation, and keep the default for normal use.
vector.pool_threads
Variable Type: Integer
Default Value: 0
Value Range: [0,64]
Setting Category: user
Description: Sets the number of threads used in the vectorized execution thread pool.
0disables the thread pool. The value1is treated as0, because a one-thread pool has no second thread to drain its own queue. Set this parameter to at least2for threaded execution.
vector.print_fallback_log
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether SynxDB prints a log message when a query falls back from the vectorized execution path to the regular execution path.
vector.sonic_motion_direct_send
Variable Type: Bool
Default Value: off
Setting Category: user
Description: Controls whether the vectorized executor applies direct-send routing between a hash aggregate and a redistribute Motion. When enabled, the hash aggregate attaches a segment tag to each output batch so the Motion forwards the batch as-is instead of rehashing every row, lowering latency on distributed analytic queries that span segments. The optimization applies only when a hash redistribute Motion sits directly above a vectorized hash aggregate, the cluster has more than one segment, every redistribution key column is one of
smallint,integer,bigint,text,timestamp,time, ordate, and the redistribution key is a subset of theGROUP BYcolumns. This parameter only takes effect when vectorization is enabled. For more information, see Vectorization Query Computing.
vector.sonicagg_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 spilling the Sonic hash aggregate to disk. When the partition state in memory exceeds this value, SynxDB spills partitions to disk. Setting this parameter to
0disables the disk spill. This parameter takes effect only when vectorization is enabled.
vector.sort_external_batch_size
Variable Type: Integer
Default Value: 65536
Value Range: [1,100000000]
Setting Category: user
Description: Sets the number of rows processed per run when vectorized external sort is enabled.
vector.sort_external_max_rows
Variable Type: Integer
Default Value: 65536
Value Range: [1,100000000]
Setting Category: user
Description: Sets the maximum number of rows that vectorized sort keeps in memory before spilling to external files on disk.
vector.sort_external_num_threads
Variable Type: Integer
Default Value: 0
Value Range: [0,1024]
Setting Category: user
Description: Sets the number of worker threads used for vectorized external sort. A value of 0 causes the underlying Arrow library to use its own default thread count.
vector.sort_external_temp_file_base
Variable Type: String
Default Value: ‘’
Setting Category: superuser
Description: Specifies an optional base path where vectorized external sort writes its spill files. When left empty, the default temporary file location is used.
vector.sort_use_external_sort
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Enables Arrow file-based external sort in vectorized sort execution paths, allowing sort operations that exceed available memory to spill to disk.
vector.take_thread_num
Variable Type: Integer
Default Value: 0
Value Range: [0,10000000]
Setting Category: user
Description: Sets the number of threads used when performing a vectorized “take” (top-N row selection) operation during sort.
vector.topk_bound_threshold
Variable Type: Integer
Default Value: 2000
Value Range: [0, 10000000]
Setting Category: user
Description: Sets the maximum
Kvalue for which the vectorized executor replaces aSortoperator under aLimitwith aTopKoperator that maintains a bounded heap of the bestKrows. WhenLIMIT + OFFSETis less than or equal to this threshold, the executor builds aTopKnode instead of fully sorting the input. WhenLIMIT + OFFSETexceeds this threshold, or when the plan shape isLimit → Result → Sort, the executor falls back toOrderByNodefollowed bySelectK. A non-zeroOFFSETproduces theLimit → Result → Sortplan shape, so a query that usesOFFSETfalls back even whenLIMIT + OFFSETstays within the threshold; in practice,TopKapplies toLIMIT-only queries. Setting this parameter to0disables the optimization. This parameter only takes effect when vectorization is enabled. For more information, see Run Vectorized Queries.
vector.topk_runtime_filter
Variable Type: Bool
Default Value: on
Setting Category: user
Description: Controls whether the vectorized executor pushes the current
TopKheap threshold down to PAX scans so that PAX scans skip entire row groups whose column min/max statistics fall outside the threshold. This parameter applies toORDER BY ... LIMIT Nqueries on PAX tables that run under the vectorized executor. Turn it off only to diagnose result discrepancies or to compare execution without group-level skipping. For more information, see Vectorization Query Computing.
vector.two_phase_take
Variable Type: Boolean
Default Value: off
Setting Category: user
Description: Controls whether the vectorized “take” (top-N row selection) operation runs in two phases.
vector.winagg_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 window aggregate (
WindowHashAgg) spill operation. When the estimated memory usage for window aggregation exceeds this value, data is spilled to disk and processed in partitions, preventing out-of-memory failures on large window queries. Setting to0disables spill-to-disk. This parameter only takes effect when vectorization and the GPORCA optimizer are enabled, because theWindowHashAggoperator is generated only by GPORCA. For more information, see Vectorization Query Computing.
wait_for_replication_threshold
Variable Type: Integer
Default Value: 1024
Unit: kB
Value Range: [0,2147483647]
Setting Category: sighup
Description: Sets the maximum amount of WAL a transaction can write before it must wait for replication to catch up, preventing the primary from getting too far ahead of standbys and limiting replication lag. Setting this value to 0 disables the behavior.
wal_block_size
Variable Type: Integer
Default Value: 32768
Value Range: [32768,32768]
Setting Category: internal
Description: Shows the block size used by the write-ahead log. This is a read-only, compile-time value and cannot be changed.
wal_buffers
Variable Type: Integer
Default Value: -1
Unit: 32kB
Value Range: [-1,65535]
Setting Category: postmaster
Description: Sets the number of disk-page buffers in shared memory used for WAL data. A value of -1, the default, causes the system to select a size automatically based on shared_buffers.
wal_compression
Variable Type: Bool
Default Value: on
Setting Category: superuser
Description: Enables compression of full page writes in WAL files.
wal_consistency_checking
Variable Type: String
Default Value: ‘’ (empty string)
Setting Category: superuser
Description: Specifies the WAL resource managers for which consistency checks are performed. When enabled for a resource manager, full-page images are logged for all its data blocks and cross-checked against the results of WAL replay.
wal_init_zero
Variable Type: Boolean
Default Value: on
Setting Category: superuser
Description: Controls whether new WAL files are filled with zeroes before they are used for the first time.
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.
wal_level
Variable Type: Enum
Default Value: replica
Value Range: minimal, replica, logical
Setting Category: postmaster
Description: Determines how much information is written to the write-ahead log (WAL), controlling the level of detail available for crash recovery, physical replication, and logical decoding.
wal_log_hints
Variable Type: Boolean
Default Value: off
Setting Category: postmaster
Description: Causes a full-page image to be written to WAL the first time a page is modified after a checkpoint, even for modifications that would not otherwise require WAL logging.
wal_receiver_create_temp_slot
Variable Type: Boolean
Default Value: off
Setting Category: sighup
Description: Determines whether the WAL receiver creates a temporary replication slot on the sending server when no permanent replication slot has been configured.
wal_receiver_status_interval
Variable Type: Integer
Default Value: 10
Unit: s
Value Range: [0,2147483]
Setting Category: sighup
Description: Sets the maximum interval at which the WAL receiver sends status reports to the sending server.
wal_receiver_timeout
Variable Type: Integer
Default Value: 60000
Unit: ms
Value Range: [0,2147483647]
Setting Category: sighup
Description: Sets the maximum time that the WAL receiver waits for data from the sending server before treating the connection as broken.
wal_recycle
Variable Type: Boolean
Default Value: on
Setting Category: superuser
Description: Controls whether old WAL files are recycled by renaming them for reuse instead of being removed and newly created.
wal_retrieve_retry_interval
Variable Type: Integer
Default Value: 5000
Unit: ms
Value Range: [1,2147483647]
Setting Category: sighup
Description: Sets the time to wait before retrying to retrieve WAL data after a failed attempt, whether the WAL is retrieved from a WAL sender, an archive, or a restore command.
wal_segment_size
Variable Type: Integer
Default Value: 67108864
Unit: B
Value Range: [1048576,1073741824]
Setting Category: internal
Description: Shows the size of each write-ahead log segment file. This value is fixed when the database cluster is initialized and cannot be changed afterward.
wal_sender_timeout
Variable Type: Integer
Default Value: 300000
Unit: ms
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the maximum time to wait for a reply from a WAL replication client before terminating the replication connection.
wal_skip_threshold
Variable Type: Integer
Default Value: 2048
Unit: kB
Value Range: [0,2147483647]
Setting Category: user
Description: Sets the minimum size of a new file created during certain bulk operations, below which the data is written to WAL instead of being persisted through a separate fsync.
wal_writer_delay
Variable Type: Integer
Default Value: 200
Unit: ms
Value Range: [1,10000]
Setting Category: sighup
Description: Sets the interval between the periodic WAL flushes performed by the WAL writer background process.
wal_writer_flush_after
Variable Type: Integer
Default Value: 32
Unit: 32kB
Value Range: [0,2147483647]
Setting Category: sighup
Description: Sets the amount of WAL data, measured in units of 32kB, that the WAL writer process can write before it is forced to perform a flush to disk.
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 at the same time, so the total memory consumption might be much higher than the value ofwork_memitself. Consider this behavior 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.
xmlbinary
Variable Type: Enum
Default Value: base64
Value Range: base64, hex
Setting Category: user
Description: Determines how binary values are encoded when they are converted to the
xmldata type in SynxDB.
xmloption
Variable Type: Enum
Default Value: content
Value Range: content, document
Setting Category: user
Description: Determines how SynxDB interprets XML data supplied to implicit parsing and serialization operations, treating it either as a well-formed XML document or as a content fragment that need not have a single root element.