云数据库 GAUSSDB-Schema:搜索路径

时间:2024-11-01 17:13:26

搜索路径

搜索路径定义在GUC参数search_path中,参数取值形式为采用逗号分隔的Schema名称列表。如果创建对象时未指定目标Schema,则该对象将会被添加到搜索路径中列出的第一个Schema中。当不同Schema中存在同名的对象时,查询对象未指定Schema的情况下,将从搜索路径中包含该对象的第一个Schema中返回对象。

  • 要查看当前搜索路径,请使用SHOW
    1
    2
    3
    4
    5
    gaussdb=# SHOW SEARCH_PATH;
     search_path
    ----------------
     "$user",public
    (1 row)
    

    search_path参数的默认值为:"$user",public。$user表示与当前会话用户名同名的Schema名,如果这样的模式不存在,$user将被忽略。所以默认情况下,用户连接数据库后,如果数据库下存在同名Schema,则对象会添加到同名Schema下,否则对象被添加到Public Schema下。

  • 更改当前会话的默认Schema,请使用SET命令。
    执行如下命令将搜索路径设置为myschema, public,首先搜索myschema,然后搜索public。
    1
    2
    gaussdb=# SET SEARCH_PATH TO myschema, public;
    SET
    
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0013.html