云数据库 GAUSSDB-Schema:创建、修改和删除Schema

时间:2024-11-13 14:46:10

创建、修改和删除Schema

  • 创建Schema,请参见CREATE SCHEMA。默认初始用户和系统管理员可以创建Schema,其他用户需要具备数据库的CREATE权限才可以在该数据库中创建Schema,赋权方式请参见GRANT中将数据库的访问权限赋予指定的用户或角色中的语法。
  • 更改Schema名称或者所有者,请参见ALTER SCHEMA。Schema所有者可以更改Schema。
  • 删除Schema及其对象,请参见DROP SCHEMA。Schema所有者可以删除Schema。
  • 在Schema内创建表,请以schema_name.table_name格式创建表。不指定schema_name时,对象默认创建到搜索路径中的第一个Schema内。
  • 查看Schema所有者,请对系统表PG_NAMESPACE和系统视图GS_USER执行如下关联查询。语句中的schema_name请替换为实际要查找的Schema名称。
    1
    gaussdb=# SELECT s.nspname,u.usename AS nspowner FROM pg_namespace s, gs_user u WHERE nspname='schema_name' AND s.nspowner = u.usesysid;
    
  • 查看所有Schema的列表,请查询PG_NAMESPACE系统表。
    1
    gaussdb=# SELECT * FROM pg_namespace;
    
  • 查看属于某Schema下的表列表,请查询系统视图PG_TABLES。例如,以下查询会返回Schema PG_CATA LOG 中的表列表。
    1
    gaussdb=# SELECT distinct(tablename),schemaname from pg_tables where schemaname = 'pg_catalog';
    
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0014.html