【PostgreSQL】シーケンスなどの存在確認

久しぶりに書こうとすると、どうするんだっけってド忘れしてちょこちょこ調べている気がするのでメモ。

例えばシーケンスならこう。pg_classに対してSELECTする。

select 1 from pg_class where relname = 'sequence_name' and relkind = 'S';

relkindは、それが何なのかを表す。

  • r: 通常のテーブル
  • i: インデックス
  • S: シーケンス
  • v: ビュー

詳しくはpg_classの公式ドキュメント