在postgres中如何向现有表添加索引?

use*_*855 -1 postgresql indexing

在postgres中如何向现有表添加索引?

我试过跟随,但它不起作用:

CREATE INDEX my_index ON my_table USING btree(a_column);
Run Code Online (Sandbox Code Playgroud)

然后这个:

CREATE INDEX my_index ON my_table USING btree(a_column);
Run Code Online (Sandbox Code Playgroud)

但都不起作用.

我正在使用ant进行数据库迁移.当我这样做时,我会ant db-migrate-apply-postgresql不断收到错误

 [echo] ERROR:  relation "my_index" already exists
Run Code Online (Sandbox Code Playgroud)

a_h*_*ame 10

好吧,这个错误信息:

错误:关系"my_index"已经存在

非常清楚,不是吗.

您正在尝试使用现有索引或表的名称创建索引.您需要使用其他名称.

  • @ user1467855没有数据库会让你使用相同的名称.索引的范围在表之外.列位于表中.这就是为什么所有表都可以有一个具有相同名称的列. (7认同)
  • @ user1467855:索引名称 - 就像表名一样 - 必须是唯一的.您不能拥有三个具有相同名称的索引(就像您不能拥有三个具有相同名称的表一样) (6认同)
  • @ user1467855:显然你有. (2认同)