参数分类
本文档介绍了 YMatrix 中所有系统配置参数的分类。
完整的分类如下:
- 文件位置参数
- 连接与认证参数
- 客户端连接默认值参数
- 错误报告和日志参数
- 资源消耗参数
- 查询调优参数
- 运行中的统计信息参数
- 自动清理参数
- 数据表参数
- 锁管理参数
- 资源管理参数
- YMatrix 数据库集群参数
- 预写式日志参数
- 复制参数
- PL/JAVA 参数
- 版本和平台兼容性参数
文件位置参数
- 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
语法,其中的 XXX
是 pgsql
、perl
、tcl
或 python
。
只有特别为与 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
基于代价的清理延迟
在 VACUUM
和 ANALYZE
命令的执行过程中,系统维持着一个内部计数器来跟踪各种被执行的 I/O 操作的估算开销。当累计的代价达到一个限制(由 vacuum_cost_limit
指定),执行这些操作的进程将按照 vacuum_cost_delay
所指定的休眠一小段时间。然后它将重置计数器并继续执行。
这个特性的出发点是允许管理员降低这些命令对并发的数据库活动产生的 I/O 影响。在很多情况下,VACUUM
和 ANALYZE
等维护命令能否快速完成并不重要,重要的是这些命令不会对系统执行其他数据库操作的能力产生显著的影响。基于代价的清理延迟提供了一种方式让管理员能够保证这一点。
- 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_stat
和 pg_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