ここから本文です

postgresのインデックス作成について質問です。 バージョンは8.4です。 インデッ...

qstpcurさん

2017/7/314:16:58

postgresのインデックス作成について質問です。
バージョンは8.4です。
インデックス作成がうまくでいているのか確認できなくて困っています。
次のことを試しました。

---

CREATE INDEX index_test ON tablename (column);

でインデックスを作成しました。
再度同じSQL文を打ち、「relation "index_serial" already exists」と表示され、作成に成功していることを確認しました。
---

\di

でインデックスの確認をしたところ、「No relations found.」と返されました。
---

DROP INDEX index_test;

で、①で作成したはずのインデックスを削除しようとしましたが、「index "index_serial" does not exist」と返されました。
---
①~③を見ると、作成には成功したものの、①が見ているところと②③が見ているところが違うのではないかと考えています。正常に作成・確認・削除までを行いたいのですが、ご教示いただけませんでしょうか。

閲覧数:
32
回答数:
1

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nora1962jpさん

2017/7/320:16:44

pg_indexesというビューがあるはずです。
項目は

schemaname
tablename
indexname
tablespace
indexdef

indexdefにcreate index文が入ります。
確認してみてください。

  • 質問者

    qstpcurさん

    2017/7/413:40:17

    ありがとうございます。下記SQL文で確認しました。

    select * from pg_indexes;

    結果、追加したインデックスはレコードに記録されていました。以下、indexdef です。

    CREATE INDEX index_test ON schema.database USING btree (column)

    整形されたSQL文が入っているので、問題なくインデックスが作成されていると思います。
    しかし、indexname をコピペして DROP INDEX を実施しても、「index "index_test" does not exist」と返されてしまいます。

  • その他の返信(2件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。