Posted at

[PostgreSQL] あるスキーマの名前に . を含むインデックスを削除する


やりたいこと

とある事情で名前に . を含むインデックスが存在した。これを削除したい。


myschema というスキーマの girls テーブルに存在する myprefix.index_girls_on_room_no という名前のインデックスを削除する。

mydb=# DROP INDEX myschema.myprefix.index_girls_on_room_no; -- in public schema

ERROR: cross-database references are not implemented

mydb=# SET search_path TO myschema;
mydb=# DROP INDEX myprefix.index_girls_on_room_no; -- in myschema schema
ERROR: schema "myprefix" does not exist

:sob:

mydb=# DROP INDEX myschema."myprefix.index_girls_on_room_no";

インデックス名を "" でくくると成功した :tada: