数据仓库服务 GAUSSDB(DWS)-创建和管理Schema:设置Schema搜索路径

时间:2024-01-19 16:49:27

设置Schema搜索路径

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

  • 使用SHOW命令查看当前搜索路径。
    1
    2
    3
    4
    5
    SHOW SEARCH_PATH;
     search_path
    ----------------
     "$user",public
    (1 row)
    

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

  • 使用SET命令修改当前会话的默认Schema。例如,将搜索路径设置为myschema、public,首先搜索myschema。
    1
    SET SEARCH_PATH TO myschema, public;
    
    也可以使用ALTER ROLE命令为特定的角色(用户)设置search_path。例如:
    1
    ALTER ROLE jack SET search_path TO myschema, public;
    
support.huaweicloud.com/devg-dws/dws_04_0036.html