Parameter classification
This document describes the classification of all system configuration parameters in YMatrix.
The complete classification is as follows:
- external_pid_file
- data_directory
- hba_file
- identity_file
Connection and authentication parameters
- 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
- authentication_timeout
- db_user_namespace
- krb_caseins_users
- krb_server_keyfile
- password_encryption
-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 value parameters
- 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
- client_encoding
- datestyle
- default_text_search_config
- extra_float_digits
- intervalstyle
- lc_messages
- lc_monetary
- lc_numeric
- lc_time
- timezone
- timezone_abbreviations
To load additional functions or to improve performance, multiple settings can be used to preload the shared library to the server. For example, the $libdir/mylib
setting may cause mylib.so
(or mylib.sl
on some platforms) to be preloaded from the installed standard library directory. The difference between these settings is when they take effect and the privileges required to change them.
You can preload YMatrix's procedural language library in this way, usually using the $libdir/plXXX
syntax, where XXX
is pgsql
, perl
, tcl
, or python
.
Only shared libraries designed specifically for use with YMatrix can be loaded in this way. Every YMatrix-supported library has a "magic block" that will be checked for compatibility. For this reason, non-YMatrix cannot be loaded in this way. You may be able to load it using OS tools such as LD_PRELOAD
.
In short, please refer to the documentation for a specific module to load it in the recommended method.
- jit_provider
- local_preload_libraries
- session_preload_libraries
- shared_preload_libraries
Error Report and Log Parameters
- 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
- 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
- application_name
- debug_pretty_print
- debug_print_parse
- debug_print_plan
- debug_print_prelim_plan
- debug_print_rewriteten
- 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
- cluster_name
- update_process_title
Resource consumption parameters
- 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
During the execution of the VACUUM
and ANALYZE
commands, the system maintains an internal counter to track the estimated overhead of various executed I/O operations. When the accumulated cost reaches a limit (specified by vacuum_cost_limit
), the process performing these operations will sleep for a short period of time as specified by vacuum_cost_delay
. It will then reset the counter and continue execution.
The starting point of this feature is to allow administrators to reduce the I/O impact of these commands on concurrent database activities. In many cases, it does not matter whether maintenance commands such as VACUUM
and ANALYZE
can be completed quickly, but it is important that these commands will not have a significant impact on the system's ability to perform other database operations. Cost-based cleaning delays provide 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
- 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 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
- 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
GEQO is an algorithm that uses an exploratory search algorithm for query planning. It can reduce the planning time for complex queries (queries that require multi-table joins), but at the cost of the plans it generates will sometimes be worse than those found using exhaustive search algorithms.
- geqo
- geqo_effort
- geqo_generations
- geqo_pool_size
- geqo_seed
- geqo_selection_bias
- geqo_threshold
This part of the parameters is used to adjust the amount of data sampled by the ANALYZE
operation. Adjusting these parameters will affect the collection of statistical data in the entire system. You can use the ALTER TABLE SET STATISTICS
clause to configure statistics collection for certain specific tables and columns.
- default_statistics_target
- 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_collapse_limit
- gp_adjust_selectivity_for_outerjoins
- gp_hashjoin_tuples_per_bucket
- gp_workfile_compression
- 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
- gp_max_slices
- plan_cache_mode
- 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
- 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
- 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
- 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
Statistical information parameters in operation
- default_statistics_target
These parameters control server-wide statistical data collection characteristics. When statistics collection is enabled, the generated 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
- log_executor_stats
- log_parser_stats
- log_planner_stats
- log_statement_stats
- gp_autostats_mode
- gp_autostats_mode_in_functions
- gp_autostats_on_change_threshold
- log_autostats
- 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
Data table parameters
- default_table_access_method
- gp_create_table_random_default_distribution
- gp_default_storage_options
- gp_appendonly_compaction
- gp_appendonly_compaction_threshold
- gp_safefswritesize
- compress_threshold
- level0_merge_threshold
- level0_upgrade_size
- level1_upgrade_size
- sortheap_automerge_threshold
- sortheap_sort_mem
- sortheap_sort_mem_core
- compress_threshold
- level_size_amplifier
- prefer_load_mode
- rowstore_runsize
- matrixts.enable_object_cache
- mars3.degrade_credential_update_interval
- mars3.degrade_probe_interval
- mars3.enable_object_prefetch
- mars3.enable_objectstore
- 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
- 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
- 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
- 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
- enable_drop_matrixdb_extension
- mx_create_table_default_segments
- mx_default_segment_set
- mx_ha_provider
- mx_postmaster_pdeath_signal
- repl_catchup_within_range
- wait_for_replication_threshold
- 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
- gp_fts_probe_retries
- gp_fts_probe_interval
- gp_fts_probe_timeout
- gp_cached_segworkers_threshold
- gp_set_proc_affinity
- gp_max_local_distributed_cache
- gp_command_count
- gp_contentid
- gp_dbid
- gp_role
- gp_session_id
- gp_server_version
- gp_server_version_num
Pre-write log parameters
- 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
- checkpoint_completion_target
- checkpoint_flush_after
- checkpoint_timeout
- checkpoint_warning
- max_wal_size
- min_wal_size
- archive_command
- archive_mode
- archive_timeout
This part of the parameters is only used in recovery mode. If you wish to perform any subsequent recovery operations, you must reset them.
"Recovery" covers the use of a server as a standby server or for performing target recovery. Typically, standby mode is used to provide high availability and/or read scalability, while target recovery is used to recover from data loss.
- archive_cleanup_command
- recovery_end_command
- restore_command
- recovery_target
- recovery_target_action
- recovery_target_inclusive
- recovery_target_lsn
- recovery_target_name
- recovery_target_time
- recovery_target_timeline
- recovery_target_xid
Copy parameters
- 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
This section of settings will be omitted on the Standby server.
- synchronous_standby_names
- vacuum_defer_cleanup_age
- 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
This section of parameters controls the behavior of logical replication subscribers. Their values on the publisher have nothing to do with this.
- max_logical_replication_workers
- max_sync_workers_per_subscription
- pljava_classpath
- pljava_classpath_insecure
- pljava_release_lingering_savepoints
- pljava_statement_cache_size
- pljava_vmoptions
Version and platform compatibility parameters
- 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