#openGauss #入门 #安装 #数据库 #开源
知识来源:docs-opengauss.osinfra.cn/zh/
语句行为
介绍SQL语句执行过程的相关默认参数。
search_path
参数说明: 当一个被引用对象没有指定模式时,此参数设置模式搜索顺序。它的值由一个或多个模式名构成,不同的模式名用逗号隔开。
该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。
- 当前会话如果存放临时表的模式时,可以使用别名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中首位有效的模式名称。
取值范围: 字符串
说明:
- 设置为“$user”,public时,支持共享数据库(没有用户具有私有模式和所有共享使用public)、用户私有模式和这些功能的组合使用。可以通过改变默认搜索路径来获得其他效果,无论是全局化的还是私有化的。
- 设置为空串('')的时候,系统会自动转换成一对双引号。
- 设置的内容中包含双引号,系统会认为是不安全字符,会将每个双引号转换成一对双引号。
默认值: “$user”,public
说明:
user将被忽略。
#openGauss #入门 #安装 #数据库 #开源