Skip to main content

查看并配置运行参数

什么是运行参数?

运行参数指可以在运行时设置的变量,用来配置 RisingWave 的行为。

如何查看运行参数?

使用SHOW ALL命令查看运行参数,当前设置以及关于这些参数的一些注释。

SHOW ALL;

之后会看到类似于以下表格:

Runtime Parameters
          参数名称                 |     示例值     |        描述
--------------------------------+-----------------+--------------------------------------
rw_implicit_flush | false | 若启用 `RW_IMPLICIT_FLUSH` 启用,每个 INSERT/UPDATE/DELETE 声明语句将受阻,直到整个数据流刷新成功。
create_compaction_group_for_mv | false | 若启用 `CREATE_COMPACTION_GROUP_FOR_MV`,则在物化视图创建时将创建专用的压缩组。
query_mode | auto | 临时配置变量,强制查询在本地模式或分布式模式下运行。如果值是 auto,则系统会自动决定。
...

以下是参数的详细信息:

参数名称示例值描述
rw_implicit_flushtrue/false若启用RW_IMPLICIT_FLUSH,每个 INSERT/UPDATE/DELETE 声明语句将受阻,直到整个数据流刷新成功。也就是说,每个相关的表格和物化视图都将能够看到写入。
create_compaction_group_for_mvtrue/false若启用 CREATE_COMPACTION_GROUP_FOR_MV,则在物化视图创建时将创建专用的压缩组。
query_modeauto临时配置变量,强制在本地模式或分布式模式下运行查询。默认值是 auto,表示让系统自动决定在本地或分布式模式下自动运行批量查询。
extra_float_digits1设置浮点值显示的位数。详细信息请查看此处
application_namepsql设置要在统计和日志中报告的应用程序名称。详细信息请查看此处
datestyleDMY通常由应用程序在连接到服务器时设置。详细信息请查看此处
rw_batch_enable_lookup_jointrue/false本地批处理执行时,在可能的情况下强制使用查找连接而不是哈希连接。
rw_batch_enable_sort_aggtrue/false在批处理执行中,当满足排序属性时启用 sortAgg 而不是哈希聚合。
max_split_range_gap8允许将小范围扫描转换为多点查找的最大间隙。
search_path"$user", public设置在引用简单名称(无指定 Schema 的表、数据类型、函数等)时搜索 Schema 的顺序。详细信息请查看此处 for details.
visibility_modedefaultVISIBILITY_MODEall,则支持无检查点查询数据。
transaction_isolationread committed详见此处
query_epoch0选择特定时期的数据。设置查询数据的历史时期,如果为 0,则查询最新数据。
timezoneUTC会话时区。默认为 UTC。
streaming_parallelismAUTO/0,1,2,...STREAMING_PARALLELISM的值非0,则CREATE MATERIALIZED VIEW/TABLE/INDEX将使用该数值作为流处理并行性。
rw_streaming_enable_delta_jointrue/false为流查询启用 delta join,。默认为false
rw_streaming_enable_bushy_jointrue/false为流查询启用 bushy join。默认为true
streaming_enable_arrangement_backfilltrue/false为流查询启用 arrangement backfill。默认为false
rw_enable_join_orderingtrue/false为流处理和批处理查询启用join ordering。默认为true
rw_enable_two_phase_aggtrue/false启用两阶段聚合优化,默认为true。该值为trueFORCE_TWO_PHASE_AGGfalse
rw_force_two_phase_aggtrue/false在优化选择之间强制两阶段聚合优化,默认为false。该值为trueENABLE_TWO_PHASE_AGGfalse
rw_enable_share_plantrue/false启用共享常见子计划,可以构建 DAG 结构的查询计划,而不仅仅是树结构的查询计划。
rw_force_split_distinct_aggtrue/false拆分 distinct agg
intervalstylepostgres设置间隔值的显示格式,通常在连接到服务器时由应用程序设置。详见此处
batch_parallelism0BATCH_PARALLELISM0,则批处理查询将使用该值作为并行性。
server_version9.5.0RisingWave 声明的 PostgreSQL 版本。
server_version_num90500RisingWave 声明的 PostgreSQL 版本。
client_min_messagesnotice详见此处
client_encodingUTF8详见此处
sink_decoupledefault是否解耦 Sink 和内部流图。
synchronize_seqscanstrue/false详见此处。在 RisingWave 中未使用,支持兼容。
statement_timeout3600在秒内中断超过指定时间的查询语句。若log_min_error_statement设置为 ERROR 或更低,超时的语句也将被记录。默认值为 1 小时。
lock_timeout0详见此处。在 RisingWave 中未使用,支持兼容。
row_securitytrue/false详见此处。在 RisingWave 中未使用,支持兼容。
standard_conforming_stringson详见此处
streaming_rate_limit0为每个并行性的每个 Source 设置每秒的最大记录数,在回填过程中,Source 指的是上游来源或快照读取。
rw_streaming_over_window_cache_policyfull窗口流中,分区缓存的缓存策略,可以是fullrecentrecent_first_nrecent_last_n
background_ddltrue/false在后台运行 DDL 语句。
server_encodingUTF8显示服务器端字符集编码。目前此参数可显示但不可设置,因为编码是在数据库创建时确定的。
bytea_outputhex用于 bytea 类型值的输出格式。有效值为 hex(默认)和 escape(传统的 PostgreSQL 格式),详见 Section 8.4。注意,输入时,bytea 类型始终接受两种格式,无需考虑此设置。

如果只想查看特定参数值,可以使用SHOW命令:

SHOW parameter_name;

如何配置运行参数?

使用SET命令或set_config()函数已更改运行参数的设置。

SET命令的句法如下:

SET parameter_name { TO | = } { value | 'value' | DEFAULT};

parameter_name为参数的名称,value'value'是参数的新值。可以写入DEFAULT来将参数重置为其默认值。

有关set_config()函数的详细信息,请查看System administration functions,有关SET命令,请查看SET