YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
SQL 参考
- ABORT
- ALTER_DATABASE
- ALTER_EXTENSION
- ALTER_EXTERNAL_TABLE
- ALTER_FOREIGN_DATA_WRAPPER
- ALTER_FOREIGN_TABLE
- ALTER_FUNCTION
- ALTER_INDEX
- ALTER_RESOURCE_GROUP
- ALTER_RESOURCE_QUEUE
- ALTER_ROLE
- ALTER_RULE
- ALTER_SCHEMA
- ALTER_SEQUENCE
- ALTER_SERVER
- ALTER_TABLE
- ALTER_TABLESPACE
- ALTER_TYPE
- ALTER_USER_MAPPING
- ALTER_VIEW
- ANALYZE
- BEGIN
- CHECKPOINT
- COMMIT
- COPY
- CREATE_DATABASE
- CREATE_EXTENSION
- CREATE_EXTERNAL_TABLE
- CREATE_FOREIGN_DATA_WRAPPER
- CREATE_FOREIGN_TABLE
- CREATE_FUNCTION
- CREATE_INDEX
- CREATE_RESOURCE_GROUP
- CREATE_RESOURCE_QUEUE
- CREATE_ROLE
- CREATE_RULE
- CREATE_SCHEMA
- CREATE_SEGMENT_SET
- CREATE_SEQUENCE
- CREATE_SERVER
- CREATE_TABLE
- CREATE_TABLE_AS
- CREATE_TABLESPACE
- CREATE_TYPE
- CREATE_USER_MAPPING
- CREATE_VIEW
- DELETE
- DROP_DATABASE
- DROP_EXTENSION
- DROP_EXTERNAL_TABLE
- DROP_FOREIGN_DATA_WRAPPER
- DROP_FOREIGN_TABLE
- DROP_FUNCTION
- DROP_INDEX
- DROP_RESOURCE_GROUP
- DROP_RESOURCE_QUEUE
- DROP_ROLE
- DROP_RULE
- DROP_SCHEMA
- DROP_SEGMENT_SET
- DROP_SEQUENCE
- DROP_SERVER
- DROP_TABLE
- DROP_TABLESPACE
- DROP_TYPE
- DROP_USER_MAPPING
- DROP_VIEW
- END
- EXPLAIN
- GRANT
- INSERT
- LOAD
- LOCK
- REINDEX
- RELEASE_SAVEPOINT
- RESET
- REVOKE
- ROLLBACK_TO_SAVEPOINT
- ROLLBACK
- SAVEPOINT
- SELECT INTO
- SET ROLE
- SET TRANSACTION
- SET
- SHOW
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
ALTER INDEX
更改一个索引的定义。
概要
ALTER INDEX [ IF EXISTS ] name RENAME TO new_name
ALTER INDEX [ IF EXISTS ] name SET TABLESPACE tablespace_name
ALTER INDEX [ IF EXISTS ] name SET ( storage_parameter = value [, ...] )
ALTER INDEX [ IF EXISTS ] name RESET ( storage_parameter [, ...] )
ALTER INDEX ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ]
SET TABLESPACE new_tablespace [ NOWAIT ]
描述
ALTER INDEX 更改存在的一个索引的定义。 有下列的一些子形式:
- RENAME — 修改索引的名字,对存储的数据无影响。
- SET TABLESPACE — 修改索引的表空间到指定的表空间,然后将分配给这个 索引的数据文件也移到新的表空间。要修改索引的表空间,你必须在新的表空间有 CREATE 的权限。在当前数据库中一个表空间下所有的索引可以用 ALL IN TABLESPACE 形式移动, 这会锁住所有的要移动的索引,然后移动每一个索引。这种方式也在 OWNED BY 形式中支持, 这只会移动指定角色所拥有的索引。指定了 NOWAIT 选项的话,如果不能立即获取到需要的锁, 命令将会失败。注意系统目录不会被这个命令移动,如果需要,请使用 ALTER DATABASE 或者显式调用调用 ALTER INDEX。另见 CREATE TABLESPACE.
- IF EXISTS — 如果索引不存在不会抛出错误,而会触发一个提醒。
- SET — 更改索引的特定于索引方法的存储参数。 内置索引方法都接受一个参数: fillfactor。 索引的fillfactor 是一个百分比,用于确定索引方法尝试打包索引页的程度。 此命令不会立即修改索引内容。 使用 REINDEX 重建索引以获得所需的效果。
- RESET — 将索引的存储参数重置为其默认值。 内置索引方法都接受一个参数: fillfactor。与 SET 一样,可能需要 REINDEX 来完全更新索引。
参数
name
- 要修改的现有索引的名称(可选方案限定)。
new_name
- 索引的新名称。
tablespace_name
- 要移动索引的表空间。
storage_parameter
- index-method-specific 指定的存储参数名称。
value
- index-method-specific 指定的存储参数值,这可能是基于参数的数字或者词
示例
修改一个索引的名字:
ALTER INDEX distributors RENAME TO suppliers;
移动索引到另外一个表空间:
ALTER INDEX distributors SET TABLESPACE fasttablespace;
要更改索引的填充因子(假设索引方法支持它):
ALTER INDEX distributors SET (fillfactor = 75);
REINDEX INDEX distributors;
兼容性
ALTER INDEX 是 YMatrix 数据库的扩展。