-1

我有几个使用以下压缩逻辑创建的表

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”

4

1 回答 1

0

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

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

于 2014-11-01T19:20:41.363 回答