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

时间:2024-01-23 20:08:52

创建、修改和删除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和PG_USER执行如下关联查询。语句中的schema_name请替换为实际要查找的Schema名称。
    1
    postgres=# SELECT s.nspname,u.usename AS nspowner FROM pg_namespace s, pg_user u WHERE nspname='schema_name' AND s.nspowner = u.usesysid;
    
  • 要查看所有Schema的列表,请查询PG_NAMESPACE系统表。
    1
    postgres=# SELECT * FROM pg_namespace;
    
  • 要查看属于某Schema下的表列表,请查询系统视图PG_TABLES。例如,以下查询会返回Schema PG_CATA LOG 中的表列表。
    1
    postgres=# SELECT distinct(tablename),schemaname from pg_tables where schemaname = 'pg_catalog';
    
support.huaweicloud.com/devg-v1-gaussdb/gaussdb_devg_0169.html