From 6eb9c5a5657d1fe77b55cc261450f3538d35a94d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 14:19:15 +0200 Subject: Adding upstream version 13.4. Signed-off-by: Daniel Baumann --- doc/src/sgml/ref/alter_view.sgml | 219 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 doc/src/sgml/ref/alter_view.sgml (limited to 'doc/src/sgml/ref/alter_view.sgml') diff --git a/doc/src/sgml/ref/alter_view.sgml b/doc/src/sgml/ref/alter_view.sgml new file mode 100644 index 0000000..e8d9e11 --- /dev/null +++ b/doc/src/sgml/ref/alter_view.sgml @@ -0,0 +1,219 @@ + + + + + ALTER VIEW + + + + ALTER VIEW + 7 + SQL - Language Statements + + + + ALTER VIEW + change the definition of a 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 | CURRENT_USER | SESSION_USER } +ALTER VIEW [ IF EXISTS ] name RENAME [ COLUMN ] column_name TO new_column_name +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 [, ... ] ) + + + + + Description + + + ALTER VIEW changes various auxiliary properties + of a view. (If you want to modify the view's defining query, + use CREATE OR REPLACE VIEW.) + + + + You must own the view to use ALTER VIEW. + To change a view's schema, you must also have CREATE + privilege on the new schema. + To alter the owner, you must also be a direct or indirect member of the new + owning role, and that role must have CREATE privilege on + the view's schema. (These restrictions enforce that altering the owner + doesn't do anything you couldn't do by dropping and recreating the view. + However, a superuser can alter ownership of any view anyway.) + + + + + Parameters + + + + name + + + The name (optionally schema-qualified) of an existing view. + + + + + + column_name + + + Name of an existing column. + + + + + + new_column_name + + + New name for an existing column. + + + + + + IF EXISTS + + + Do not throw an error if the view does not exist. A notice is issued + in this case. + + + + + + SET/DROP DEFAULT + + + These forms set or remove the default value for a column. + A view column's default value is substituted into any + INSERT or UPDATE command whose target is the + view, before applying any rules or triggers for the view. The view's + default will therefore take precedence over any default values from + underlying relations. + + + + + + new_owner + + + The user name of the new owner of the view. + + + + + + new_name + + + The new name for the view. + + + + + + new_schema + + + The new schema for the view. + + + + + + SET ( view_option_name [= view_option_value] [, ... ] ) + RESET ( view_option_name [, ... ] ) + + + Sets or resets a view option. Currently supported options are: + + + check_option (enum) + + + Changes the check option of the view. The value must + be local or cascaded. + + + + + security_barrier (boolean) + + + Changes the security-barrier property of the view. The value must + be Boolean value, such as true + or false. + + + + + + + + + + + Notes + + + For historical reasons, ALTER TABLE can be used with + views too; but the only variants of ALTER TABLE + that are allowed with views are equivalent to the ones shown above. + + + + + Examples + + + To rename the view foo to + bar: + +ALTER VIEW foo RENAME TO bar; + + + + + To attach a default column value to an updatable view: + +CREATE TABLE base_table (id int, ts timestamptz); +CREATE VIEW a_view AS SELECT * FROM base_table; +ALTER VIEW a_view ALTER COLUMN ts SET DEFAULT now(); +INSERT INTO base_table(id) VALUES(1); -- ts will receive a NULL +INSERT INTO a_view(id) VALUES(2); -- ts will receive the current time + + + + + Compatibility + + + ALTER VIEW is a PostgreSQL + extension of the SQL standard. + + + + + See Also + + + + + + + -- cgit v1.2.3