选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.2 已于 2017 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

ALTER VIEW

ALTER VIEW — 更改视图的定义

大纲

ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name SET DEFAULT expression
ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name DROP DEFAULT
ALTER VIEW [ IF EXISTS ] name OWNER TO new_owner
ALTER VIEW [ IF EXISTS ] name RENAME TO new_name
ALTER VIEW [ IF EXISTS ] name SET SCHEMA new_schema
ALTER VIEW [ IF EXISTS ] name SET ( view_option_name [= view_option_value] [, ... ] )
ALTER VIEW [ IF EXISTS ] name RESET ( view_option_name [, ... ] )

描述

ALTER VIEW更改视图的各种辅助属性。 (如果要修改视图的定义查询,请使用 CREATE OR REPLACE VIEW。)

要使用ALTER VIEW,必须拥有该视图。要更改视图的模式,还必须在新模式上拥有CREATE权限。要更改所有者,还必须是新所有者角色的直接或间接成员,并且该角色必须在视图所在模式上拥有CREATE权限。(这些限制确保更改所有者不会执行任何无法通过删除并重新创建视图完成的操作。不过,超级用户无论如何都可以更改任何视图的所有权。)

参数

name

现有视图的名称(可以带模式限定)。

IF EXISTS

如果视图不存在,则不抛出错误,而是发出一条提示。

SET/DROP DEFAULT

这些形式用于设置或移除列的默认值。如果在视图上的 INSERT 语句中没有为某一列指定值,那么在应用该视图的 ON INSERT 规则之前,会先将与该视图列关联的默认值插入该 INSERT 语句。

new_owner

视图新拥有者的用户名。

new_name

该视图的新名称。

new_schema

该视图的新模式。

view_option_name

要设置或重置的视图选项的名称。

view_option_value

视图选项的新值。

注解

出于历史原因,视图也可以使用 ALTER TABLE; 但允许用于视图的 ALTER TABLE 变体,仅限于与上面所示 形式等价的那些。

示例

将视图 foo 重命名为 bar

ALTER VIEW foo RENAME TO bar;

兼容性

ALTER VIEWPostgreSQL 对 SQL 标准的扩展。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。