ALTER MATERIALIZED VIEW — マテリアライズドビューの定義を変更する
ALTER MATERIALIZED VIEW [ IF EXISTS ]name
action
[, ... ] ALTER MATERIALIZED VIEWname
[ NO ] DEPENDS ON EXTENSIONextension_name
ALTER MATERIALIZED VIEW [ IF EXISTS ]name
RENAME [ COLUMN ]column_name
TOnew_column_name
ALTER MATERIALIZED VIEW [ IF EXISTS ]name
RENAME TOnew_name
ALTER MATERIALIZED VIEW [ IF EXISTS ]name
SET SCHEMAnew_schema
ALTER MATERIALIZED VIEW ALL IN TABLESPACEname
[ OWNED BYrole_name
[, ... ] ] SET TABLESPACEnew_tablespace
[ NOWAIT ] ここでaction
は以下のいずれかです。 ALTER [ COLUMN ]column_name
SET STATISTICSinteger
ALTER [ COLUMN ]column_name
SET (attribute_option
=value
[, ... ] ) ALTER [ COLUMN ]column_name
RESET (attribute_option
[, ... ] ) ALTER [ COLUMN ]column_name
SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ALTER [ COLUMN ]column_name
SET COMPRESSIONcompression_method
CLUSTER ONindex_name
SET WITHOUT CLUSTER SET ACCESS METHODnew_access_method
SET TABLESPACEnew_tablespace
SET (storage_parameter
[=value
] [, ... ] ) RESET (storage_parameter
[, ... ] ) OWNER TO {new_owner
| CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER MATERIALIZED VIEW
は既存のマテリアライズドビューの各種補助属性を変更します。
ALTER MATERIALIZED VIEW
を使用するためにはそのマテリアライズドビューを所有していなければなりません。
マテリアライズドビューのスキーマを変更するためには、新しいスキーマに対するCREATE
権限を持たなければなりません。
所有者を変更するには、新しい所有者ロールに対してSET ROLE
ができなければなりません。また、そのロールはマテリアライズドビューのスキーマに対してCREATE
権限を持たなければなりません。
(これらの制限により、マテリアライズドビューを削除し再作成することによってできる以上のことを所有者の変更で行えないようにします。
しかしスーパーユーザはいずれにせよ任意のビューの所有権を変更することができます。)
ALTER MATERIALIZED VIEW
文で利用可能な副構文と操作は、ALTER TABLE
で利用できるものの部分集合であり、マテリアライズドビューに対して使用した場合も同じ意味を持ちます。
詳細についてはALTER TABLE
の説明を参照してください。
name
既存のマテリアライズドビューの名前(スキーマ修飾可)です。
column_name
既存の列の名前です。
extension_name
マテリアライズドビューが依存する(もしくはNO
が指定された場合にはもはや依存していない)拡張の名前です。
拡張に依存していると印をつけられたマテリアライズドビューは、拡張が削除されると自動的に削除されます。
new_column_name
既存の列に対する新しい名前です。
new_owner
マテリアライズドビューの新しい所有者となるユーザの名前です。
new_name
マテリアライズドビューの新しい名前です。
new_schema
マテリアライズドビューの新しいスキーマです。
マテリアライズドビューfoo
の名前をbar
に変更します。
ALTER MATERIALIZED VIEW foo RENAME TO bar;
ALTER MATERIALIZED VIEW
はPostgreSQLの拡張です。