v2.0
索引
在时序表上支持索引相关功能,以便用户根据实际需求使用索引提升查询性能。时序表上支持的索引类型包括Btree和Gin,不支持创建部分索引,Btree可以支持唯一索引。时序表上索引默认是LOCAL索引,不支持创建GLOBAL索引。在时序表执行数据删除时,对应分区上的索引也会一起删除。
创建索引
语法和分区表创建索引语法基本相同,但不支持创建GLOBAL索引。
CREATE [ UNIQUE ] INDEX [ [schema_name.]index_name ] ON table_name [ USING method ]
( {{ column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [ ASC | DESC ] [ NULLS LAST ] }[, ...] )
[ LOCAL [ ( { PARTITION index_partition_name | SUBPARTITION index_subpartition_name [ TABLESPACE index_partition_tablespace ] } [, ...] ) ] ]
[ INCLUDE ( column_name [, ...] )]
[ WITH ( { storage_parameter = value } [, ...] ) ]
[ TABLESPACE tablespace_name ];
修改索引
-
重命名表索引的名称
ALTER INDEX [ IF EXISTS ] index_name RENAME TO new_name;
-
修改表索引的存储参数
ALTER INDEX [ IF EXISTS ] index_name SET ( {storage_parameter = value} [, ... ] );
-
设置表索引或索引分区不可用
ALTER INDEX [ IF EXISTS ] index_name [ MODIFY PARTITION index_partition_name ] UNUSABLE;
-
重置索引的一个或多个索引方法特定的存储参数为缺省值。与SET一样,可能需要使用REINDEX来完全更新索引。
ALTER INDEX [ IF EXISTS ] index_name RESET ( { storage_parameter } [, …] );
-
重建表或者索引分区上的索引。
ALTER INDEX [ IF EXISTS ] index_name REBUILD [ PARTITION index_partition_name ];
-
重命名索引分区
ALTER INDEX [ IF EXISTS ] index_name RENAME PARTITION index_partition_name TO new_index_partition_name;
-
修改索引分区的所属表空间
ALTER INDEX [ IF EXISTS ] index_name MOVE PARTITION index_partition_name TABLESPACE new_tablespace;
删除索引
DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] index_name [, ...] [ CASCADE | RESTRICT ];
重建索引
REINDEX { INDEX| [INTERNAL] TABLE} name PARTITION partition_name [ FORCE ];