查看并配置运行参数
什么是运行参数?
运行参数指可以在运行时设置的变量,用来配置 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_flush | true /false | 若启用RW_IMPLICIT_FLUSH ,每个 INSERT/UPDATE/DELETE 声明语句将受阻,直到整个数据流刷新成功。也就是说,每个相关的表格和物化视图都将能够看到写入。 |
create_compaction_group_for_mv | true /false | 若启用 CREATE_COMPACTION_GROUP_FOR_MV ,则在物化视图创建时将创建专用的压缩组。 |
query_mode | auto | 临时配置变量,强制在本地模式或分布式模式下运行查询。默认值是 auto,表示让系统自动决定在本地或分布式模式下自动运行批量查询。 |
extra_float_digits | 1 | 设置浮点值显示的位数。详细信息请查看此处 。 |
application_name | psql | 设置要在统计和日志中报告的应用程序名称。详细信息请查看此处。 |
datestyle | DMY | 通常由应用程序在连接到服务器时设置。详细信息请查看此处。 |
rw_batch_enable_lookup_join | true /false | 本地批处理执行时,在可能的情况下强制使用查找连接而不是哈希连接。 |
rw_batch_enable_sort_agg | true /false | 在批处理执行中,当满足排序属性时启用 sortAgg 而不是哈希聚合。 |
max_split_range_gap | 8 | 允许将小范围扫描转换为多点查找的最大间隙。 |
search_path | "$user", public | 设置在引用简单名称(无指定 Schema 的表、数据类型、函数等)时搜索 Schema 的顺序。详细信息请查看此处 for details. |
visibility_mode | default | 若VISIBILITY_MODE 为all ,则支持无检查点查询数据。 |
transaction_isolation | read committed | 详见此处。 |
query_epoch | 0 | 选择特定时期的数据。设置查询数据的历史时期,如果为 0,则查询最新数据。 |
timezone | UTC | 会话时区。默认为 UTC。 |
streaming_parallelism | AUTO /0 ,1 ,2 ,... | 若STREAMING_PARALLELISM 的值非0 ,则CREATE MATERIALIZED VIEW/TABLE/INDEX 将使用该数值作为流处理并行性。 |
rw_streaming_enable_delta_join | true /false | 为流查询启用 delta join,。默认为false 。 |
rw_streaming_enable_bushy_join | true /false | 为流查询启用 bushy join。默认为true 。 |
streaming_enable_arrangement_backfill | true /false | 为流查询启用 arrangement backfill。默认为false 。 |
rw_enable_join_ordering | true /false | 为流处理和批处理查询启用join ordering 。默认为true 。 |
rw_enable_two_phase_agg | true /false | 启用两阶段聚合优化,默认为true 。该值为true 则FORCE_TWO_PHASE_AGG 为false 。 |
rw_force_two_phase_agg | true /false | 在优化选择之间强制两阶段聚合优化,默认为false 。该值为true 则ENABLE_TWO_PHASE_AGG 为false 。 |
rw_enable_share_plan | true /false | 启用共享常见子计划,可以构建 DAG 结构的查询计划,而不仅仅是树结构的查询计划。 |
rw_force_split_distinct_agg | true /false | 拆分 distinct agg 。 |
intervalstyle | postgres | 设置间隔值的显示格式,通常在连接到服务器时由应用程序设置。详见此处。 |
batch_parallelism | 0 | 若 BATCH_PARALLELISM 非0 ,则批处理查询将使用该值作为并行性。 |
server_version | 9.5.0 | RisingWave 声明的 PostgreSQL 版本。 |
server_version_num | 90500 | RisingWave 声明的 PostgreSQL 版本。 |
client_min_messages | notice | 详见此处 。 |
client_encoding | UTF8 | 详见此处。 |
sink_decouple | default | 是否解耦 Sink 和内部流图。 |
synchronize_seqscans | true /false | 详见此处。在 RisingWave 中未使用,支持兼容。 |
statement_timeout | 3600 | 在秒内中断超过指定时间的查询语句。若log_min_error_statement 设置为 ERROR 或更低,超时的语句也将被记录。默认值为 1 小时。 |
lock_timeout | 0 | 详见此处。在 RisingWave 中未使用,支持兼容。 |
row_security | true /false | 详见此处。在 RisingWave 中未使用,支持兼容。 |
standard_conforming_strings | on | 详见此处。 |
streaming_rate_limit | 0 | 为每个并行性的每个 Source 设置每秒的最大记录数,在回填过程中,Source 指的是上游来源或快照读取。 |
rw_streaming_over_window_cache_policy | full | 窗口流中,分区缓存的缓存策略,可以是full 、recent 、recent_first_n 或recent_last_n 。 |
background_ddl | true /false | 在后台运行 DDL 语句。 |
server_encoding | UTF8 | 显示服务器端字符集编码。目前此参数可显示但不可设置,因为编码是在数据库创建时确定的。 |
bytea_output | hex | 用于 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
。