PostgreSQL 修改Schema
在本节中,我们将学习PostgreSQL ALTER SCHEMA 命令,该命令用于更改模式的描述。
更改Schema命令
alter schema 命令将允许我们修改模式的定义。例如,我们还可以借助以下 alter schema 命令重命名模式。
改变Schema命令的语法如下:
ALTER SCHEMA schema_name
RENAME TO new_name;
我们在上述语法中使用了以下参数:
参数 | 描述 |
---|---|
Alter Schema | 它是一个关键字,用于更改模式的描述 |
Schema_Name | 它用于描述模式的名称,我们需要对其进行重命名。 |
New_Name | 该参数用于定义模式的新名称,我们不能以pg_开头新名称,因为在PostgreSQL中,这样的名称是为系统模式保留的。 |
除了重命名Schema,在 ALTER SCHEMA 中,我们还可以使用以下命令的帮助修改新Schema的所有者:
ALTER SCHEMA schema_name
OWNER TO { new_owner | CURRENT_USER | SESSION_USER};
我们在上述语法中使用了以下参数:
参数 | 描述 |
---|---|
Schema_Name | 为了在 ALTER SCHEMA 条件下修改所有者,我们将描述模式的名称。 |
New_owner | 它用于在 OWNER TO 条件中定义新所有者。 |
PostgreSQL ALTER SCHEMA 命令示例
让我们看几个例子,从中我们可以理解如何在 PostgreSQL 中使用 ALTER SCHEMA 命令。以下示例基于我们在PostgreSQL CREATE SCHEMA 部分中创建的模式。
使用 ALTER SCHEMA 命令重命名Schema
下面的示例解释为使用 help alter schema 命令重命名模式。
在这里,我们将myschema 模式重命名为Schema1模式:
ALTER SCHEMA myschema
RENAME TO Schema1;
执行上述命令后,我们将获得以下输出窗口:
同理,下面的例子描述了Company schema重命名为department:
ALTER SCHEMA Company
RENAME TO department;
执行上述命令后,我们将得到以下输出:
使用 alter schema 命令修改Schema的所有者
在此特定示例中,我们将借助 Alter schema将Schema1的所有者从myschema修改为Postgres :
ALTER SCHEMA Schema1
OWNER TO postgres;
然后,我们将执行用户创建的模式命令:
SELECT * FROM pg_catalog.pg_namespace
WHERE nspname NOT LIKE 'pg_%' AND
nspacl is NULL
ORDER BY nspname;
pg_namespace是一个目录,用于存储名称空间。命名空间是基本 SQL 模式的结构,每个命名空间都可以有不同的类型、关系等集合,而不会出现任何名称冲突。
执行上述查询后,我们将得到以下输出,其中包含一个表,我们可以看到Schema1模式由所有者 id 10维护,这是Postgres id。
热门文章
优秀文章