Parameter Categories

This document describes the categories of all system configuration parameters in YMatrix.

The complete list of categories is as follows:


File Locations


  • external_pid_file
  • data_directory
  • hba_file
  • ident_file


Connections and Authentication


Connection Settings

  • bonjour
  • bonjour_name
  • gp_connection_send_timeout
  • listen_addresses
  • max_connections
  • port
  • superuser_reserved_connections
  • unix_socket_directories
  • unix_socket_group
  • unix_socket_permissions
  • tcp_keepalives_count
  • tcp_keepalives_idle
  • tcp_keepalives_interval
  • tcp_user_timeout

Security and Authentication

  • authentication_timeout
  • db_user_namespace
  • krb_caseins_users
  • krb_server_keyfile
  • password_encryption

SSL

  • ssl
  • ssl_ca_file
  • ssl_cert_file
  • ssl_ciphers
  • ssl_crl_file
  • ssl_dh_params_file
  • ssl_ecdh_curve
  • ssl_key_file
  • ssl_max_protocol_version
  • ssl_min_protocol_version
  • ssl_passphrase_command
  • ssl_passphrase_command_supports_reload
  • ssl_prefer_server_ciphers


Client Connection Default Parameters


Statement Behavior

  • bytea_output
  • check_function_bodies
  • client_min_messages
  • default_tablespace
  • default_transaction_deferrable
  • default_transaction_read_only
  • gin_fuzzy_search_limit
  • gin_pending_list_limit
  • gp_vmem_idle_resource_timeout
  • idle_in_transaction_session_timeout
  • lc_collate
  • lc_ctype
  • lock_timeout
  • row_security
  • search_path
  • session_replication_role
  • statement_timeout
  • temp_tablespaces
  • vacuum_cleanup_index_scale_factor
  • vacuum_freeze_min_age
  • vacuum_freeze_table_age
  • vacuum_multixact_freeze_min_age
  • vacuum_multixact_freeze_table_age

Locale and Formatting

  • client_encoding
  • datestyle
  • default_text_search_config
  • extra_float_digits
  • intervalstyle
  • lc_messages
  • lc_monetary
  • lc_numeric
  • lc_time
  • timezone
  • timezone_abbreviations

Shared Library Preloading

Multiple settings allow preloading shared libraries into the server to add functionality or improve performance. For example, the $libdir/mylib setting may cause mylib.so (or mylib.sl on some platforms) to be preloaded from the standard library directory. These settings differ in when they take effect and the privileges required to change them.

YMatrix procedural language libraries can be preloaded using the $libdir/plXXX syntax, where XXX is pgsql, perl, tcl, or python.

Only shared libraries specifically designed for use with YMatrix can be loaded this way. Each YMatrix-supported library contains a "magic block" that is checked for compatibility. As a result, non-YMatrix libraries cannot be loaded in this manner. You may use operating system tools (such as LD_PRELOAD) to load them instead.

Refer to the documentation of specific modules for recommended loading methods.

  • jit_provider
  • local_preload_libraries
  • session_preload_libraries
  • shared_preload_libraries

Other Default Options

  • dynamic_library_path


Error Reporting and Logging


Where to Log

  • event_source
  • logging_collector
  • log_destination
  • log_directory
  • log_file_mode
  • log_filename
  • log_rotation_age
  • log_rotation_size
  • log_truncate_on_rotation
  • syslog_facility
  • syslog_ident
  • syslog_sequence_numbers
  • syslog_split_messages

When to Log

  • gp_interconnect_debug_retry_interval
  • log_min_duration_statement
  • log_min_error_statement
  • log_min_messages
  • log_statement_sample_rate
  • log_transaction_sample_rate
  • optimizer_minidump

What to Log

  • application_name
  • debug_pretty_print
  • debug_print_parse
  • debug_print_plan
  • debug_print_prelim_plan
  • debug_print_rewritten
  • debug_print_slice_table
  • gp_debug_linger
  • gp_log_format
  • gp_log_interconnect
  • gp_reraise_signal
  • log_checkpoints
  • log_connections
  • log_disconnections
  • log_dispatch_stats
  • log_duration
  • log_error_verbosity
  • log_hostname
  • log_line_prefix
  • log_lock_waits
  • log_replication_commands
  • log_statement
  • log_temp_files
  • log_timezone

Process Titles

  • cluster_name
  • update_process_title


Resource Consumption


Memory

  • autovacuum_work_mem
  • dynamic_shared_memory_type
  • gp_resource_group_memory_limit
  • gp_vmem_protect_limit
  • gp_vmem_protect_segworker_cache_limit
  • gp_workfile_limit_files_per_query
  • gp_workfile_limit_per_query
  • gp_workfile_limit_per_segment
  • huge_pages
  • maintenance_work_mem
  • max_prepared_transactions
  • max_stack_depth
  • mx_dump_mctx_threshold
  • mx_dump_print_filter
  • shared_buffers
  • shared_memory_type
  • temp_buffers
  • work_mem

Disk

  • temp_file_limit

Kernel Resource Usage

  • max_files_per_process

Cost-Based Vacuum Delay

During execution of VACUUM and ANALYZE, the system maintains an internal counter tracking estimated I/O costs of various operations. When the accumulated cost reaches a limit defined by vacuum_cost_limit, the process performing the operation sleeps for a short time as specified by vacuum_cost_delay. The counter is then reset before execution resumes.

This feature allows administrators to reduce the I/O impact of these commands on concurrent database activity. In many cases, it is not critical that maintenance commands such as VACUUM and ANALYZE complete quickly. What matters is that they do not significantly affect the system's ability to perform other database operations. Cost-based vacuum delay provides a way for administrators to ensure this.

  • vacuum_cost_delay
  • vacuum_cost_limit
  • vacuum_cost_page_dirty
  • vacuum_cost_page_hit
  • vacuum_cost_page_miss

Asynchronous Behavior

  • backend_flush_after
  • effective_io_concurrency
  • max_parallel_maintenance_workers
  • max_parallel_workers
  • max_parallel_workers_per_gather
  • max_worker_processes
  • old_snapshot_threshold


Query Tuning


Postgres Query Optimizer Operator Control Parameters

  • enable_bitmapscan
  • enable_groupagg
  • enable_hashagg
  • enable_hashjoin
  • enable_indexonlyscan
  • enable_indexscan
  • enable_mars2aggscan
  • enable_material
  • enable_mergejoin
  • enable_nestloop
  • enable_parallel_append
  • enable_parallel_hash
  • enable_partition_pruning
  • enable_partitionwise_aggregate
  • enable_partitionwise_join
  • enable_seqscan
  • enable_sort
  • enable_tidscan
  • gp_enable_agg_distinct
  • gp_enable_agg_distinct_pruning
  • gp_enable_direct_dispatch
  • gp_enable_fast_sri
  • gp_enable_multiphase_agg
  • gp_enable_preunique
  • gp_enable_relsize_collection
  • gp_enable_sort_distinct
  • gp_enable_sort_limit
  • gp_selectivity_damping_for_joins
  • gp_selectivity_damping_for_scans
  • min_parallel_index_scan_size
  • min_parallel_table_scan_size
  • parallel_leader_participation

Postgres Query Optimizer Cost Calculation Parameters

  • cpu_index_tuple_cost
  • cpu_operator_cost
  • cpu_tuple_cost
  • cursor_tuple_fraction
  • effective_cache_size
  • gp_appendonly_random_page_cost
  • gp_compressed_random_page_cost
  • gp_motion_cost_per_row
  • gp_segments_for_planner
  • parallel_setup_cost
  • parallel_tuple_cost
  • random_page_cost
  • seq_page_cost

Postgres Genetic Query Optimization (GEQO) Parameters

GEQO is an algorithm that uses a heuristic search method for query planning. It reduces planning time for complex queries involving multiple table joins, at the expense of potentially suboptimal plans compared to exhaustive search methods.

  • geqo
  • geqo_effort
  • geqo_generations
  • geqo_pool_size
  • geqo_seed
  • geqo_selection_bias
  • geqo_threshold

Database Statistics Sampling Parameters

These parameters control the data sampling size for ANALYZE operations. Adjusting them affects statistics collection across the entire system. You can use the ALTER TABLE SET STATISTICS clause to configure statistics collection for specific tables and columns.

  • default_statistics_target

Sort Operator Configuration Parameters

  • gp_enable_sort_limit

Aggregate Operator (Agg) Configuration Parameters

  • gp_enable_agg_distinct
  • gp_enable_agg_distinct_pruning
  • gp_enable_multiphase_agg
  • gp_enable_preunique
  • gp_workfile_compression
  • mx_pullup_agg_proj_and_qual

Join Operator Configuration Parameters

  • join_collapse_limit
  • gp_adjust_selectivity_for_outerjoins
  • gp_hashjoin_tuples_per_bucket
  • gp_workfile_compression

Other Postgres Query Optimizer Parameters

  • constraint_exclusion
  • force_parallel_mode
  • from_collapse_limit
  • gp_enable_predicate_propagation
  • gp_max_plan_size
  • gp_statistics_pullup_from_child_partition
  • gp_statistics_use_fkeys

Query Plan Execution

  • gp_max_slices
  • plan_cache_mode

JIT (Just-In-Time) Configuration Parameters

  • jit
  • jit_above_cost
  • jit_debugging_support
  • jit_dump_bitcode
  • jit_expressions
  • jit_inline_above_cost
  • jit_optimize_above_cost
  • jit_profiling_support
  • jit_tuple_deforming

Greenplum ORCA Optimizer Configuration Parameters

  • gp_enable_relsize_collection
  • optimizer
  • optimizer_analyze_root_partition
  • optimizer_array_expansion_threshold
  • optimizer_control
  • optimizer_cost_model
  • optimizer_cte_inlining_bound
  • optimizer_dpe_stats
  • optimizer_enable_associativity
  • optimizer_enable_dml
  • optimizer_enable_indexonlyscan
  • optimizer_enable_multiple_distinct_aggs
  • optimizer_force_agg_skew_avoidance
  • optimizer_force_multistage_agg
  • optimizer_force_three_stage_scalar_dqa
  • optimizer_join_arity_for_associativity_commutativity
  • optimizer_join_order
  • optimizer_join_order_threshold
  • optimizer_mdcache_size
  • optimizer_metadata_caching
  • optimizer_parallel_union
  • optimizer_penalize_broadcast_threshold
  • optimizer_penalize_skew
  • optimizer_print_optimization_stats
  • optimizer_sort_factor

Runtime Filter Optimization Parameters

  • mx_enable_runtime_filter
  • mx_runtime_join_ratio
  • mx_runtime_max_filter_per_query
  • mx_runtime_max_inner_rows
  • mx_runtime_max_intent_level
  • mx_runtime_min_outer_rows
  • mx_runtime_scan_ratio

Vectorized Execution Engine Parameters

  • matrix.enable_mxvector
  • matrix.enable_mxv_aggregate
  • matrix.enable_mxv_hash_aggregate
  • matrix.enable_mxv_append
  • matrix.enable_mxv_motion
  • matrix.enable_mxv_presort_aggregate
  • matrix.enable_mxv_root
  • matrix.enable_mxv_sort
  • matrix.enable_mxv_strict_mode
  • matrix.enable_mxv_fallback_expression
  • matrix.enable_mxv_limit
  • matrix.enable_mxv_window
  • matrix.enable_mxv_subqueryscan
  • matrix.enable_mxv_hash_join
  • matrix.enable_mxv_hash_join_advanced_hashmap
  • matrix.enable_mxv_aggscan
  • matrix.enable_mxv_heap_adapter
  • matrix.enable_mxv_indexscan


Runtime Statistics


ANALYZE Statistics on Database Content

  • default_statistics_target

Query and Index Statistics Collector

These parameters control the server-wide statistics collection feature. When enabled, the collected data can be accessed through the pg_stat and pg_statio system view families.

  • track_activities
  • track_activity_query_size
  • track_counts
  • track_functions
  • track_io_timing
  • stats_queue_level
  • stats_temp_directory

Statistics Monitoring

  • log_executor_stats
  • log_parser_stats
  • log_planner_stats
  • log_statement_stats

Automatic Statistics Collection Parameters

  • gp_autostats_mode
  • gp_autostats_mode_in_functions
  • gp_autostats_on_change_threshold
  • log_autostats


Automatic Vacuum Parameters


  • autovacuum
  • autovacuum_analyze_scale_factor
  • autovacuum_analyze_threshold
  • autovacuum_freeze_max_age
  • autovacuum_max_workers
  • autovacuum_multixact_freeze_max_age
  • autovacuum_naptime
  • autovacuum_vacuum_cost_delay
  • autovacuum_vacuum_cost_limit
  • autovacuum_vacuum_scale_factor
  • autovacuum_vacuum_threshold
  • log_autovacuum_min_duration


Database Table


HEAP Table / Append-Optimized Table (AO) Parameters

  • default_table_access_method
  • gp_create_table_random_default_distribution
  • gp_default_storage_options
  • gp_appendonly_compaction
  • gp_appendonly_compaction_threshold
  • gp_safefswritesize

MARS2 Table-Level Parameters

  • compress_threshold
  • level0_merge_threshold
  • level0_upgrade_size
  • level1_upgrade_size
  • sortheap_automerge_threshold
  • sortheap_sort_mem
  • sortheap_sort_mem_core

MARS3 Table-Level Parameters

  • compress_threshold
  • level_size_amplifier
  • prefer_load_mode
  • rowstore_runsize

MARS3 Degraded Storage Parameters

  • matrixts.enable_object_cache
  • mars3.degrade_credential_update_interval
  • mars3.degrade_probe_interval
  • mars3.enable_object_prefetch
  • mars3.enable_objectstore

External Table Parameters

  • gp_external_enable_exec
  • gp_external_enable_filter_pushdown
  • gp_external_max_segs
  • gp_initial_bad_row_limit
  • gp_reject_percent_threshold
  • mx_discard_gpfdist_data
  • readable_external_table_timeout
  • writable_external_table_bufsize
  • verify_gpfdists_cert


Lock Management

--- SPLIT ---

Lock Management Parameters


  • deadlock_timeout
  • gp_enable_global_deadlock_detector
  • max_locks_per_transaction
  • max_pred_locks_per_page
  • max_pred_locks_per_relation
  • max_pred_locks_per_transaction


Resource Management Parameters


Resource Groups

  • gp_resgroup_memory_policy
  • gp_resource_group_cpu_limit
  • gp_resource_group_cpu_priority
  • gp_resource_group_queuing_timeout
  • gp_resource_manager
  • memory_spill_ratio
  • mx_cgroup_v1_base

Resource Queues

  • gp_resqueue_memory_policy
  • gp_resqueue_priority
  • gp_resqueue_priority_cpucores_per_segment
  • gp_resqueue_priority_sweeper_interval
  • gp_vmem_protect_limit
  • max_resource_portals_per_transaction
  • max_resource_queues
  • max_statement_mem
  • resource_cleanup_gangs_on_wait
  • resource_select_only
  • runaway_detector_activation_percent
  • statement_mem


YMatrix Database Cluster Parameters


Cluster Configuration Parameters

  • enable_drop_matrixdb_extension
  • mx_create_table_default_segments
  • mx_default_segment_set
  • mx_ha_provider
  • mx_postmaster_pdeath_signal

Mirror Configuration Parameters

  • repl_catchup_within_range
  • wait_for_replication_threshold

Interconnect Configuration Parameters

  • gp_interconnect_fc_method
  • gp_interconnect_proxy_addresses
  • gp_interconnect_queue_depth
  • gp_interconnect_setup_timeout
  • gp_interconnect_snd_queue_depth
  • gp_interconnect_transmit_timeout
  • gp_interconnect_type
  • gp_max_packet_size
  • gp_segment_connect_timeout
  • mx_interconnect_compress
  • mx_generic_packet_rtt

Failover Configuration Parameters

  • gp_fts_probe_retries
  • gp_fts_probe_interval
  • gp_fts_probe_timeout

Dispatch Configuration Parameters

  • gp_cached_segworkers_threshold
  • gp_set_proc_affinity

Distributed Transaction Management Parameters

  • gp_max_local_distributed_cache

Read-only Parameters

  • gp_command_count
  • gp_contentid
  • gp_dbid
  • gp_role
  • gp_session_id
  • gp_server_version
  • gp_server_version_num


Write Ahead Log Parameters


Settings

  • commit_delay
  • commit_siblings
  • full_page_writes
  • fsync
  • synchronous_commit
  • wal_buffers
  • wal_compression
  • wal_init_zero
  • wal_level
  • wal_log_hints
  • wal_recycle
  • wal_sync_method
  • wal_writer_delay
  • wal_writer_flush_after

Checkpoints

  • checkpoint_completion_target
  • checkpoint_flush_after
  • checkpoint_timeout
  • checkpoint_warning
  • max_wal_size
  • min_wal_size

Archiving

  • archive_command
  • archive_mode
  • archive_timeout

Archive Recovery

These parameters are used only in recovery mode. You must reset them if you plan to perform any subsequent recovery operations.

"Recovery" includes running the server as a standby server or performing point-in-time recovery. Typically, standby mode is used for high availability and/or read scalability, while point-in-time recovery is used to recover from data loss.

  • archive_cleanup_command
  • recovery_end_command
  • restore_command

Recovery Target

  • recovery_target
  • recovery_target_action
  • recovery_target_inclusive
  • recovery_target_lsn
  • recovery_target_name
  • recovery_target_time
  • recovery_target_timeline
  • recovery_target_xid


Replication Parameters


Sending Servers

  • max_replication_slots
  • max_slot_wal_keep_size
  • max_wal_senders
  • track_commit_timestamp
  • wal_init_zero
  • wal_keep_segments
  • wal_recycle
  • wal_sender_timeout

Master Server

These settings are ignored on standby servers.

  • synchronous_standby_names
  • vacuum_defer_cleanup_age

Standby Servers

  • hot_standby
  • hot_standby_feedback
  • max_standby_archive_delay
  • max_standby_streaming_delay
  • primary_conninfo
  • primary_slot_name
  • promote_trigger_file
  • recovery_min_apply_delay
  • wal_receiver_status_interval
  • wal_receiver_timeout
  • wal_retrieve_retry_interval

Subscribers

These parameters control the behavior of logical replication subscribers. Their values on the publisher are irrelevant.

  • max_logical_replication_workers
  • max_sync_workers_per_subscription


PL/Java Parameters


  • pljava_classpath
  • pljava_classpath_insecure
  • pljava_release_lingering_savepoints
  • pljava_statement_cache_size
  • pljava_vmoptions


Version and Platform Compatibility Parameters


Pre-PostgreSQL 12 Behavior

  • array_nulls
  • backslash_quote
  • escape_string_warning
  • lo_compat_privileges
  • operator_precedence_warning
  • quote_all_identifiers
  • standard_conforming_strings
  • synchronize_seqscans
  • gp_debug_add_path

Other Platforms and Clients

  • transform_null_equals