数智融合计算服务 DATAARTSFABRIC-语句行为:search_path

时间:2025-06-17 08:50:02

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

support.huaweicloud.com/devg-fabric/dataartsfabric_sql_04_0184.html