Redshift
如何增加 Redshift 數據庫表中的列大小?
在甲骨文中,我可以:
Alter table table_name modify column_name datatype;
在紅移數據庫中這可能嗎?
在AWS Redshift中,現在可以僅更改VARCHAR 列,但在以下條件下:
- 您不能使用壓縮編碼 BYTEDICT、RUNLENGTH、TEXT255 或 TEXT32K 更改列。
- 您不能將大小減小到小於現有數據的最大大小。
- 您不能使用預設值更改列。
- 您不能使用 UNIQUE、PRIMARY KEY 或 FOREIGN KEY 更改列。
- 您不能更改多語句塊(BEGIN…END)內的列。
最近 AWS 增加了對增加 varchar 列大小的支持,
更改 VARCHAR 列 為了節省儲存空間,您可以在最初定義一個具有 VARCHAR 列的表,該列具有目前數據要求所需的最小大小。如果稍後您需要容納更長的字元串,您可以更改表格以增加列的大小。要保護現有數據,您不能減小列大小。
以下範例將 EVENTNAME 列的大小更改為 VARCHAR(300)。
alter table event alter column eventname type varchar(300);
以下命令失敗,因為它試圖減小 EVENTNAME 列的大小。
alter table event alter column eventname type varchar(100);