Parameter classification

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

The complete classification is as follows:


File Location Parameters


  • external_pid_file
  • data_directory
  • hba_file
  • identity_file


Connection and authentication parameters


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

Safety 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 value 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

Region and Format

  • 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

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

Other default options

  • dynamic_library_path


Error Report and Log Parameters


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 will log logs

  • 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 to log

  • 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

Process Title

  • cluster_name
  • update_process_title


Resource consumption parameters


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 cleaning delay

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

Async 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 parameters


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 Configuration Parameters

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

Database statistics sampling parameters

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

Sort operator (Sort) configuration parameters

  • gp_enable_sort_limit

Aggregation 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

Connection operator (Join) configuration parameters

  • join_collapse_limit
  • gp_adjust_selectivity_for_outerjoins
  • gp_hashjoin_tuples_per_bucket
  • gp_workfile_compression

Other Postgres query optimizer configuration 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 technical configuration 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 Configuration 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


Statistical information parameters in operation


ANALYZE Statistics on Database Content

  • default_statistics_target

Query and Index Statistics Collector

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

Statistical Monitoring

  • log_executor_stats
  • log_parser_stats
  • log_planner_stats
  • log_statement_stats

Autostatistics collection parameters

  • gp_autostats_mode
  • gp_autostats_mode_in_functions
  • gp_autostats_on_change_threshold
  • log_autostats


Automatically clean up 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


Data table parameters


HEAP table/Append optimization table (AO) configuration 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 single table configuration parameters

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

MARS3 single table configuration parameters

  • compress_threshold
  • level_size_amplifier
  • prefer_load_mode
  • rowstore_runsize

MARS3 downgrade storage configuration parameters

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

External table configuration 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 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 Group- 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 Queue

  • 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

Fault automatic transfer configuration parameters

  • gp_fts_probe_retries
  • gp_fts_probe_interval
  • gp_fts_probe_timeout

Scheduling Configuration Parameters

  • gp_cached_segworkers_threshold
  • gp_set_proc_affinity

Distributed Transaction Management Parameters

  • gp_max_local_distributed_cache

Read-only parameter

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


Pre-write 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

Checkpoint

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

Archive

  • archive_command
  • archive_mode
  • archive_timeout

Archive Recovery

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
  • recovery_target_action
  • recovery_target_inclusive
  • recovery_target_lsn
  • recovery_target_name
  • recovery_target_time
  • recovery_target_timeline
  • recovery_target_xid


Copy parameters


Send server

  • 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

Standbyserver

  • 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

Subscriber

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


PL/JAVA Parameters


  • pljava_classpath
  • pljava_classpath_insecure
  • pljava_release_lingering_savepoints
  • pljava_statement_cache_size
  • pljava_vmoptions


Version and platform compatibility parameters


PostgreSQL 12 versions

  • 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