创建可在Greenplum数据库中附加的压缩表

时间:2014-04-23 05:39:11

标签: compression append greenplum

我使用以下压缩逻辑创建了一些表

CREATE TABLE xyz
(
   DATE_HOUR TIMESTAMP, 
   MV CHARACTER VARYING (255), 
   VISITS NUMERIC
)
WITH (APPENDONLY = true, COMPRESSLEVEL = 1, ORIENTATION = column, COMPRESSTYPE = quicklz, OIDS = false)
DISTRIBUTED BY (      
   DATE_HOUR , 
   MV  , 
   VISITS);

这些表会被这个逻辑压缩,但这些表不可追加(因为append only = true)。我也不能在此表中添加值,也不能从中删除。

这种压缩逻辑或任何其他压缩逻辑有什么方法可以压缩表,同时允许表可以附加吗?

版本:“x86_64-unknown-linux-gnu上的PostgreSQL 8.2.15(Greenplum Database 4.2.3.2 build 1),由GCC gcc(GCC)4.4.2编译于2013年1月10日编译18:27:37”< / p>

1 个答案:

答案 0 :(得分:0)

您以这种方式创建的表格是可附加的,您可以轻松地将数据插入其中。但是,如果您使用的是4.2.x版,则它不可更新,即您无法在此表上执行UPDATE和DELETE语句。

但是如果你升级到4.3.x,这个表将成为可更新的压缩表,你可以在其中更新/删除数据。但是你的发行策略真的很奇怪,你为什么要用所有的字段进行分发呢?您应该了解这将阻止您更新数据,因为无法更新分发密钥。对于你有桌子,我建议循环分发(“随机分发”)