参数分类

本文档介绍了 YMatrix 中所有系统配置参数的分类。

完整的分类如下:


文件位置参数


  • external_pid_file
  • data_directory
  • hba_file
  • ident_file


连接与认证参数


连接设置

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


客户端连接默认值参数


语句行为

  • 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

共享库预载入

为了载入附加的功能或者达到提高性能的目的,可用多个设置来预先载入共享库到服务器中。例如 $libdir/mylib 设置可能会导致 mylib.so(或者某些平台上的 mylib.sl)从安装的标准库目录被预装载。这些设置之间的区别在于生效的时间以及改变它们所需的特权。

可以用这个方法预装载 YMatrix 的过程语言库,通常是使用 $libdir/plXXX 语法,其中的 XXXpgsqlperltclpython

只有特别为与 YMatrix 一起使用设计的共享库才能以这种方式载入。每一个 YMatrix 支持的库都有一个“魔法块”,它会被检查以保证兼容性。由于这个原因,非 YMatrix 无法以这种方式被载入。你可能可以使用操作系统的工具(如 LD_PRELOAD)载入它。

总之,请参考特定模块的文档来用推荐的方法载入它。

  • jit_provider
  • local_preload_libraries
  • session_preload_libraries
  • shared_preload_libraries

其他默认值选项

  • dynamic_library_path


错误报告和日志参数


在哪里记录日志

  • 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

什么时候记录日志

  • 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_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

进程标题

  • cluster_name
  • update_process_title


资源消耗参数


内存

  • 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

磁盘

  • temp_file_limit

内核资源使用

  • max_files_per_process

基于代价的清理延迟

VACUUMANALYZE 命令的执行过程中,系统维持着一个内部计数器来跟踪各种被执行的 I/O 操作的估算开销。当累计的代价达到一个限制(由 vacuum_cost_limit 指定),执行这些操作的进程将按照 vacuum_cost_delay 所指定的休眠一小段时间。然后它将重置计数器并继续执行。

这个特性的出发点是允许管理员降低这些命令对并发的数据库活动产生的 I/O 影响。在很多情况下,VACUUMANALYZE 等维护命令能否快速完成并不重要,重要的是这些命令不会对系统执行其他数据库操作的能力产生显著的影响。基于代价的清理延迟提供了一种方式让管理员能够保证这一点。

  • 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


查询调优参数


Postgres 查询优化器运算符控制参数

  • 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 查询优化器代价计算参数

  • 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 遗传查询优化配置参数

GEQO 是一个使用探索式搜索算法进行查询规划的算法。它可以降低复杂查询(需要进行多表连接的查询)的规划时间,但是代价是其产生的计划某些时候会不如使用穷举搜索算法找到的计划。

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

数据库统计采样参数

这部分参数用于调整 ANALYZE 操作采样的数据量。调整这部分参数会影响整个系统的统计数据收集。你可使用 ALTER TABLE SET STATISTICS 子句配置某些特定表和列的统计数据收集。

  • default_statistics_target

排序操作符(Sort)配置参数

  • gp_enable_sort_limit

聚集操作符(Agg)配置参数

  • 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)配置参数

  • join_collapse_limit
  • gp_adjust_selectivity_for_outerjoins
  • gp_hashjoin_tuples_per_bucket
  • gp_workfile_compression

其他 Postgres 查询优化器配置参数

  • 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(Just in Time) 配置参数

  • 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 优化器配置参数

  • 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 优化技术配置参数

  • 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_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


运行中的统计信息参数


ANALYZE 对数据库内容的统计

  • default_statistics_target

查询与索引统计收集器

这些参数控制服务器范围的统计数据收集特性。当统计收集被启用时,被产生的数据可以通过 pg_statpg_statio 系统视图族访问。

  • 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


数据表参数


HEAP 表/追加优化表(AO)配置参数

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

MARS2 单表配置参数

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

MARS3 单表配置参数

  • compress_threshold
  • level_size_amplifier
  • prefer_load_mode
  • rowstore_runsize

MARS3 降级存储配置参数

  • 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


资源管理参数


资源组

  • 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

资源队列

  • 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 数据库集群参数


集群配置参数

  • 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


预写式日志参数


设置

  • 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

归档恢复

此部分参数只用于恢复模式。如果您希望执行任何后续恢复操作,则必须重置它们。

“Recovery” 涵盖使用服务器作为备用(Standby)服务器或用于执行目标恢复。通常情况,备用模式用于提供高可用性和/或读的可扩展性,而目标恢复用于从数据丢失中恢复。

  • 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


复制参数


发送服务器

  • 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

主服务器

此部分设置在 Standby 服务器上会被略过。

  • 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

订阅者

此部分参数控制逻辑复制订阅者的行为。它们在发布者上的值与此无关。

  • max_logical_replication_workers
  • max_sync_workers_per_subscription


PL/JAVA 参数


  • pljava_classpath
  • pljava_classpath_insecure
  • pljava_release_lingering_savepoints
  • pljava_statement_cache_size
  • pljava_vmoptions


版本和平台兼容性参数


PostgreSQL 12 之前的版本

  • 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

其他平台与客户端

  • transform_null_equals