【问题标题】:How can you drop a unique, multi-column index in PSQL?如何在 PSQL 中删除唯一的多列索引?
【发布时间】:2013-01-04 19:22:58
【问题描述】:

我已将以下索引添加到我的一张表中:

add_index :referral_codes, [:campaign, :subscriber], unique: true

然后我想通过添加它来测试速度增益,但我无法从我的 psql 数据库中删除索引。根据文档,这是不可能的,但据我所知,他们没有提供任何解释:

DROP INDEX

...使用此选项时需要注意几个注意事项。只能指定一个索引名称,不支持 CASCADE 选项。 (因此,不能以这种方式删除支持 UNIQUE 或 PRIMARY KEY 约束的索引。)...

我最终回滚了我的迁移进行检查,但必须有原生 psql 方式,对吧?

【问题讨论】:

    标签: ruby-on-rails activerecord postgresql-9.1 psql


    【解决方案1】:

    您可以使用 SQL 删除任何 PG 索引:

    DROP INDEX <INDEX NAME>
    

    rails 会自动为您生成索引名称。如果您使用psql 连接到数据库并输入:\di,则可以看到已定义索引的列表。这将输出当前为您的数据库定义的索引列表。只需将名称复制到 DROP INDEX 命令即可。

    【讨论】:

      猜你喜欢
      • 2019-10-23
      • 2010-12-29
      • 2016-07-06
      • 2020-10-01
      • 1970-01-01
      • 2021-02-27
      • 2013-09-02
      • 2019-12-30
      • 1970-01-01
      相关资源
      最近更新 更多