而不是删除一个表并将其重新创建为diststyle
我希望改变表格diststyle
,这可能吗?
谢谢!
答案 0 :(得分:9)
我发现的最简单方法是使用以下内容:
BEGIN;
CREATE TABLE mytable_tmp
DISTSTYLE ALL -- You can also use DISTKEY(some_column) or DISTSTYLE EVEN
AS SELECT * FROM mytable;
DROP TABLE mytable;
ALTER TABLE mytable_tmp RENAME TO mytable;
COMMIT;
这使您可以轻松修改表的distkey或diststyle,甚至不知道该表中的列。您只需要知道表格的名称。
答案 1 :(得分:1)
似乎没有可能。更容易重新创建从旧表填充的表。
答案 2 :(得分:1)
现在您可以使用ALTER TABLE table_name ALTER DISTSTYLE KEY DISTKEY column_name
,后面应该跟着VACUUM SORT ONLY table_name
see docs for more details。该表将重新分配到群集上:
指定DISTSTYLE KEY时,数据将按DISTKEY列中的值进行分配。有关DISTSTYLE的更多信息,请参阅...