new*_*bie 4 postgresql database-indexes
在 postgres 数据库中,我有一个唯一约束和为其创建的两个唯一索引。我使用以下查询删除了约束:
alter table my_schema.users drop constraint users_dept_uk
Run Code Online (Sandbox Code Playgroud)
它已删除约束和一个索引,但第二个索引仍然存在。
以下查询仍然告诉我索引存在:
SELECT r.relname, r.relkind, n.nspname
FROM pg_class r INNER JOIN pg_namespace n ON r.relnamespace = n.oid
WHERE r.relname = 'users_dept_idx';
Run Code Online (Sandbox Code Playgroud)
它给出以下输出:
users_dept_idx, i, my_schema
Run Code Online (Sandbox Code Playgroud)
当我执行下面的查询时:
drop index my_schema.users_dept_idx
Run Code Online (Sandbox Code Playgroud)
我收到错误:
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedObject) index "users_dept_idx" does not exist
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?由于我不再需要这个索引,无法删除它也无法插入数据。
奇怪的是索引名称需要用引号引起来。下面的命令工作得非常好并且也删除了索引
drop index my_schema."users_dept_idx"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9792 次 |
| 最近记录: |