PostgreSQLALTER架构-PostgreSQL教程|
PostgreSQL ALTER 架构
在本节中,我们将学习PostgreSQL ALTER SCHEMA 命令,该命令用于更改模式的描述。
ALTER SCHEMA 命令
该ALTER模式命令将使我们能够修改架构的定义。例如,我们还可以在以下 alter schema 命令的帮助下重命名架构。
更改模式命令的语法如下:
ALTER SCHEMA schema_name
RENAME TO new_name;
我们在上述语法中使用了以下参数:
参数 | 描述 |
---|---|
Alter Schema | 它是一个关键字,用于更改架构的描述 |
Schema_Name | 它用于描述模式的名称,我们需要对其进行重命名。 |
New_Name | 此参数用于定义模式的新名称,我们不能以pg_开始新名称,因为在 PostgreSQL 中,此类名称是为系统模式保留的。 |
注意:要执行上述命令,我们必须是架构的所有者,并且我们还可以访问数据库的 CREATE 权限。
除了重命名架构之外,在 ALTER 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 命令重命名架构
下面的示例解释为使用 help alter schema 命令重命名架构。
在这里,我们将把myschema 模式重命名为Schema1模式:
ALTER SCHEMA myschema
RENAME TO Schema1;
输出
执行上述命令后,我们将获得以下输出窗口:
以同样的方式,下面的例子是用来形容改名为公司架构的部门:
ALTER SCHEMA Company
RENAME TO department;
输出
执行上述命令后,我们将得到以下输出:
使用 alter schema 命令修改架构的所有者
在这个特定的例子中,我们将在Alter 模式的帮助下将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;
注意:在 PostgreSQL 中,pg_catalog 是典型的元数据和 Postgres 用于内部完成事物的核心模式。
所述pg_namespace是一个目录,其用于存储所述的命名空间。命名空间是基本 SQL 模式的结构,每个命名空间可以有不同的类型、关系等集合,没有任何名称冲突。
输出
执行上述查询后,我们将得到如下输出,其中包含一张表,我们可以看到Schema1架构由所有者 id 10维护,即Postgres id。
相关文章:
- [PostgreSQL教程]PostgreSQL教程-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL特性-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL版本-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL语法-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL创建数据库-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL选择数据库-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL删除/删除数据库-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL创建表-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL删除/删除表-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL显示表-PostgreSQL教程|
相关推荐:
- [PostgreSQL教程]PostgreSQL与SQLite-PostgreSQL教程|
- [PostgreSQL教程]MongoDB与PostgreSQL-PostgreSQL教程|
- [PostgreSQL教程]psqlcommands-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQLDate&TimeFunction-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQLFunctions-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQLMulti-columnIndexes-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL禁用触发器-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL左连接-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQLANDCondition-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL获取子句-PostgreSQL教程|
- PostgreSQL与SQLite-PostgreSQL教程|
- PostgreSQL与Oracle-PostgreSQL教程|
- PostgreSQL与MariaDB-PostgreSQL教程|
- PostgreSQL与SQLServer-PostgreSQL教程|
- MongoDB与PostgreSQL-PostgreSQL教程|
- PostgreSQLEXCEPT-PostgreSQL教程|
- PostgreSQLINTERSECT-PostgreSQL教程|
- PostgreSQLUnion-PostgreSQL教程|
- psqlcommands-PostgreSQL教程|
- PostgreSQLDate&TimeFunction-PostgreSQL教程|
- PostgreSQL删除触发器-PostgreSQL教程|
- PostgreSQLOrderby子句-PostgreSQL教程|
- PostgreSQL与SQLite-PostgreSQL教程|
- PostgreSQLINTERSECT-PostgreSQL教程|
- PostgreSQLAlias-PostgreSQL教程|
- PostgreSQLNot-NullConstraint-PostgreSQL教程|
- PostgreSQL与MariaDB-PostgreSQL教程|
- PostgreSQLUnion-PostgreSQL教程|
- PostgreSQLMulti-columnIndexes-PostgreSQL教程|
- PostgreSQL左连接-PostgreSQL教程|