1. ホーム
  2. sql

Postgresql。スキーマが存在するかどうかをチェックする?

2023-12-24 16:16:33

質問

スキーマをオンザフライで作成、管理、および削除する必要があります。すでに存在するスキーマを作成しに行った場合、(条件付きで、外部の手段を使って)ドロップし、指定通りに再作成したいのです。私の Postgres 9 サーバー上の当該スキーマの存在をどのように確認すればよいのでしょうか。

現在、私はこれをやっています。

select exists (select * from pg_catalog.pg_namespace where nspname = 'schemaname');

しかし、おそらく別の方法があるような気がします。これは、特定のスキーマの存在をPostgresに問い合わせるための "適切な"方法なのでしょうか?

どのように解決するのですか?

以下のクエリでスキーマが存在するかどうかを知ることができます。

SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'name';