在最新版本的 Timescale 中,您可以修改压缩超表的 schema。
Schema 修改 | TimescaleDB 2.1 之前 | TimescaleDB 2.1 到 2.5 | TimescaleDB 2.6 及以上 |
---|---|---|---|
添加可为空的列 | ❌ | ✅ | ✅ |
添加带有默认值和 NOT NULL 约束的列 | ❌ | ❌ | ✅ |
重命名列 | ❌ | ✅ | ✅ |
删除列 | ❌ | ❌ | ✅ |
更改列的数据类型 | ❌ | ❌ | ❌ |
要执行压缩超表不支持的操作,请先解压缩该表。
添加可为空的列
ALTER TABLE <hypertable> ADD COLUMN <column_name> <datatype>;
例如
ALTER TABLE conditions ADD COLUMN device_id integer;
请注意,在 TimescaleDB 2.6 之前的版本中,不支持向新列添加约束。
要添加带有默认值和非空约束的列
ALTER TABLE <hypertable> ADD COLUMN <column_name> <datatype>NOT NULL DEFAULT <default_value>;
例如
ALTER TABLE conditions ADD COLUMN device_id integerNOT NULL DEFAULT 1;
要重命名列
ALTER TABLE <hypertable> RENAME <column_name> TO <new_name>;
例如
ALTER TABLE conditions RENAME device_id TO devid;
您可以从压缩超表中删除列,如果该列不是 orderby
或 segmentby
列。要删除列
ALTER TABLE <hypertable> DROP COLUMN <column_name>;
例如
ALTER TABLE conditions DROP COLUMN temperature;
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页。