On this page
Warning:
CockroachDB v21.2 is no longer supported as of May 16, 2023. For more details, refer to the Release Support Policy.
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 | primary | false | 1 | city | ASC | false | false
users | primary | false | 2 | id | ASC | false | false
users | primary | false | 3 | name | N/A | true | false
users | primary | false | 4 | address | N/A | true | false
users | primary | 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 | primary | false | 1 | city | ASC | false | false
users | primary | false | 2 | id | ASC | false | false
users | primary | false | 3 | name | N/A | true | false
users | primary | false | 4 | address | N/A | true | false
users | primary | 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)