如何删除Redshift索引?

时间:2015-02-07 17:09:49

标签: postgresql amazon-redshift

我有一个超级用户帐户,并尝试使用以下命令删除Redshift表上的索引:

DROP INDEX my_table_pkey;

但我收到ERROR: Insufficient privileges。我很困惑,因为我可以放下桌子,我以超级用户身份登录。

# \du admin
                 List of roles
 Role name |      Attributes      | Member of 
-----------+----------------------+-----------
 admin     | Superuser, Create DB | 

我甚至尝试过

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO admin;

但是当我尝试删除索引时,我仍然得到权限不足的错误。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

请注意,正如文档here所述,Redshift不支持索引,因此不会丢弃实际索引。主键和外键仅供参考,但仍建议(参见Defining Constraints)优化器。但是,应用程序可以实际执行密钥。

答案 1 :(得分:0)

你无法在Redshift中删除索引。

但你可以。

  • 创建没有索引的表。
  • 插入旧表中的数据
  • 更改表名称