我使用以下压缩逻辑创建了一些表
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>
答案 0 :(得分:0)
您以这种方式创建的表格是可附加的,您可以轻松地将数据插入其中。但是,如果您使用的是4.2.x版,则它不可更新,即您无法在此表上执行UPDATE和DELETE语句。
但是如果你升级到4.3.x,这个表将成为可更新的压缩表,你可以在其中更新/删除数据。但是你的发行策略真的很奇怪,你为什么要用所有的字段进行分发呢?您应该了解这将阻止您更新数据,因为无法更新分发密钥。对于你有桌子,我建议循环分发(“随机分发”)