语句行为
介绍SQL语句执行过程的相关默认参数。
search_path
参数说明:当一个被引用对象没有指定模式时,此参数设置模式搜索顺序。它的值由一个或多个模式名构成,不同的模式名用逗号隔开。
- 当前会话存放临时表的模式时,可以使用别名pg_temp将它列在搜索路径中,如'pg_temp,public' 。 存放临时表的模式始终会作为第一个被搜索的对象,排在pg_catalog和search_path中所有模式的前面,即具有第一搜索优先级。建议用户不要在search_path中显式设置pg_temp。如果在search_path中指定了pg_temp,但不是在最前面,系统会提示设置无效,pg_temp仍被优先搜索。通过使用别名pg_temp,系统只会在存放临时表的模式中搜索表、视图和数据类型这样的数据库对象,不会在里面搜索函数或运算符这样的数据库对象。
- 系统表所在的模式pg_catalog,总是排在search_path中指定的所有模式前面被搜索,即具有第二搜索优先级(pg_temp具有第一搜索优先级)。建议用户不要在search_path中显式设置pg_catalog。如果在search_path中指定了pg_catalog,但不是在最前面,系统会提示设置无效,pg_catalog仍被第二优先搜索。
- 当没有指定一个特定模式而创建一个对象时,它们被放置到以search_path为命名的第一个模式中。当搜索路径为空时,会报错误。
- 通过SQL函数current_schema可以检测当前搜索路径的有效值。这和检测search_path的值不尽相同,因为current_schema显示search_path中首位有效的模式名称。
取值范围:字符串

- 设置为空串('')的时候,系统会自动转换成一对双引号。
- 设置的内容中包含双引号,系统会认为是不安全字符,会将每个双引号转换成一对双引号。
默认值:default_db
current_schema
参数说明:设置当前的模式。
取值范围:字符串
默认值:default_db
statement_timeout
参数说明:当语句执行时间超过该参数设置的时间(从服务器收到命令时开始计时)时,该语句将会报错并退出执行。
取值范围:整型,0~2147483647,单位为毫秒(ms)。
默认值:0
bytea_output
参数说明:设置bytea类型值的输出格式。
取值范围:枚举型
- hex:将二进制数据编码为每字节2位十六进制数字。
- escape:传统化的PostgreSQL格式。采用以ASCII字符序列表示二进制串的方法,同时将那些无法表示成ASCII字符的二进制串转换成特殊的转义序列。
默认值:hex
xmlbinary
参数说明:设置二进制值是如何在XML中进行编码的。
取值范围:枚举型
- base64
- hex
默认值:base64
xmloption
参数说明:当XML和字符串值之间进行转换时,设置document或content是否是隐含的。
取值范围:枚举型
- document:表示HTML格式的文档。
- content:普通的字符串。
默认值:content
enable_disk_cache
参数说明:设置是否打开磁盘缓存和数据预读,当前数据预取仅对PARQUET/ORC格式文件有效,磁盘缓存对所有格式文件均有效。
取值范围:布尔型
- on:打开磁盘缓存和数据预取。
- off:关闭磁盘缓存和数据预取。
默认值:on
disk_cache_max_size
参数说明:用于设置磁盘缓存的总大小。
取值范围:整型,512MB~1PB
默认值:5GB
enable_aio_scheduler
参数说明:控制是否开启异步IO调度,该IO调度是异步读写的基础。
取值范围:布尔型
- on/true表示开启此IO调度开关。
- off/false表示关闭此IO调度开关。
默认值:on
runtime_filter_type
参数说明:标识使用的runtime filter类型。
取值范围:字符串
- all,表示应用除global_filter外的runtime filter。
- min_max,表示仅应用join场景下的runtime filter,且join场景仅会生成min_max过滤器。
- bloom_filter,表示仅应用join场景下的runtime filter,且满足条件后join会生成bloom filter进行过滤。
- topn_filter,表示应用join场景以及带有limit的order by场景下的runtime filter,外表不生效。
- global_filter:表示应用join场景下,跨dn节点的runtime filter,开启后支持runtime filter对不同dn上的数据生成min_max/bloom_filter过滤器。
- none,表示不使用runtime filter,此时仅对原版bloom filter生效场景具有过滤效果。
默认值:none
enable_meta_scan
参数说明:Iceberg查询时是否打开metaScan。
取值范围:bool
- on/true,打开metaScan,即在查询时由dn分布式获取待扫描文件列表。
- off/false,关闭metaScan,即在查询时在cn获取待扫描文件列表。
默认值:true
enable_spill_to_remote_storage
参数说明:控制是否打开spill-to-obs特性开关,为true时表示开启特性,下盘数据会被disk cache管控,并在空间不足时使用OBS作为逃生通道;为false时表示使用旧的下盘方式,直接写到本地EVS中。该参数存在参数依赖,当打开spill-to-obs特性开关enable_spill_to_remote_storage时,use_yr_as_block_cache_backend开关必须为false。
取值范围: bool
- on/true表示开启。
- off/false表示关闭。
默认值:true

- 由于spill-to-obs特性依赖的元戎相关能力(如append buf)在25.3.0版本暂时无法提供,当前存在特性使用限制,当打开enable_spill_to_remote_storage时,diskcache的存储后端当前无法使用元戎数据系统,请设置use_yr_as_block_cache_backend开关为false后再启用spill-to-obs特性。
- use_yr_as_block_cache_backend为false时,意味着近计算缓存会直接使用DN实例下的目录来缓存数据,此时注意系统盘的空间问题, 此时建议将function-agent中存放DN实例的路径映射在大容量的物理EVS盘中,避免系统盘空间不足导致的pod被驱逐的问题。
staging_folder_expire_time
参数说明:控制ORC、PARQUET表临时文件目录残留后的自动清理周期,默认七天后自动清理。
取值范围: int64,取值范围12h~1year
默认值:604800
obs_result_format
参数说明:控制向OBS写入结果集文件时的格式,以及是否启动结果集文件压缩功能。
参数类型:USERSET
取值范围:int,取值范围0~3。
- 0:结果集文件格式为JSON,并且不对结果集文件进行压缩。
- 1:结果集文件格式为JSON,并且使用zstd算法对结果集文件进行压缩。
- 2:结果集文件格式为ARROW,并且不对结果集文件进行压缩。
- 3:结果集文件格式为ARROW,并且使用zstd算法对结果集文件进行压缩。
默认值:0
resource_track_level
参数说明:控制SQL监控数据中query_plan字段上报的信息类型,当前只对select、insert、delete、update、create table as语句生效。
参数类型:USERSET
取值范围:枚举型
- query:SQL监控数据的query_plan字段上报explain信息。
- perf:SQL监控数据的query_plan字段上报explain performance信息。
默认值:perf