ALTER PROJECTION

更改指定投影的 DDL。

语法

ALTER PROJECTION [[database.]schema.]projection
   { RENAME TO new‑name | ON PARTITION RANGE BETWEEN min-val AND max-val }

参数

架构

数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。

projection
要更改的投影,其中 projection 可以为以下之一:
  • 投影基本名称:重命名共享此基本名称的所有投影。

  • 投影名称:重命名指定投影及其基本名称。如果投影是分段的,则其伙伴实例不受此更改的影响。

有关投影名称约定,请参阅投影命名

new‑name
新的投影名称。
ON PARTITION RANGE

指定将此投影的数据限制在分区键范围内,指定如下:

ON PARTITION RANGE BETWEEN min-range-value AND max-range-value

以下要求适用于 min‑range‑value 和 ≤ max‑range‑value

  • Min‑range‑value 必须 ≤ max‑range‑value

  • 它们必须解析为与表分区表达式兼容的数据类型。

  • 它们可以是:

    • 字符串字面量。例如, 2021-07-31

    • 具有稳定或不可变函数的表达式,例如:

      date_trunc('month', now()::timestamp - interval'1 month')
      

max-range-value 可以设置为 NULL,以指定分区范围没有上限。

如果新的键范围超出之前的范围,Vertica 将发出警告,指出投影已过期,必须刷新才能使用。

有关其他要求和使用详细信息,请参阅分区范围投影

特权

非超级用户权限、对架构的 CREATE 和 USAGE 权限以及以下锚表权限之一:

示例

=> SELECT export_tables('','public.store_orders');

                export_tables
---------------------------------------------

CREATE TABLE public.store_orders
(
    order_no int,
    order_date timestamp NOT NULL,
    shipper varchar(20),
    ship_date date NOT NULL
);
(1 row)

=> CREATE PROJECTION store_orders_p AS SELECT * from store_orders;
CREATE PROJECTION
=> ALTER PROJECTION store_orders_p RENAME to store_orders_new;
ALTER PROJECTION

另请参阅

CREATE PROJECTION