On this page
The RENAME INDEX
statement changes the name of an index for a table.
Note:
It is not possible to rename an index referenced by a view. For more details, see View Dependencies.Note:
The RENAME INDEX
statement performs a schema change. For more information about how online schema changes work in CockroachDB, see Online Schema Changes.
This schema change statement is registered as a job. You can view long-running jobs with SHOW JOBS
.
Synopsis
Required privileges
The user must have the CREATE
privilege on the table.
Parameters
Parameter | Description |
---|---|
IF EXISTS |
Rename the index only if an index current_name exists; if one does not exist, do not return an error. |
table_name |
The name of the table with the index you want to use |
index_name |
The current name of the index |
name |
The name you want to use for the index, which must be unique to its table and follow these identifier rules. |
Example
Rename an index
> SHOW INDEXES FROM users;
table_name | index_name | non_unique | seq_in_index | column_name | direction | storing | implicit
------------+------------+------------+--------------+-------------+-----------+---------+----------
users | name_idx | true | 1 | name | DESC | false | false
users | name_idx | true | 2 | city | ASC | false | true
users | name_idx | true | 3 | id | ASC | false | true
users | users_pkey | false | 1 | city | ASC | false | false
users | users_pkey | false | 2 | id | ASC | false | false
users | users_pkey | false | 3 | name | N/A | true | false
users | users_pkey | false | 4 | address | N/A | true | false
users | users_pkey | false | 5 | credit_card | N/A | true | false
(8 rows)
> ALTER INDEX users@name_idx RENAME TO users_name_idx;
> SHOW INDEXES FROM users;
table_name | index_name | non_unique | seq_in_index | column_name | direction | storing | implicit
------------+----------------+------------+--------------+-------------+-----------+---------+----------
users | users_pkey | false | 1 | city | ASC | false | false
users | users_pkey | false | 2 | id | ASC | false | false
users | users_pkey | false | 3 | name | N/A | true | false
users | users_pkey | false | 4 | address | N/A | true | false
users | users_pkey | false | 5 | credit_card | N/A | true | false
users | users_name_idx | true | 1 | name | DESC | false | false
users | users_name_idx | true | 2 | city | ASC | false | true
users | users_name_idx | true | 3 | id | ASC | false | true
(8 rows)