11
データベースの作成には、CREATE TABLE IF NOT EXISTS
というアナログがありますか?Postgresデータベースが存在しない場合は作成
背景:PostgreSQLで不明なシステムにスキーマを自動的に設定するためのスクリプトを作成しています。データベース(またはスキーマの一部)がすでにデプロイされているかどうかはわかりません。そのため、構造の一部が既に存在する場合、コードが失敗しないように(または理想的にはエラーを表示するように)構造化します。私は、このエラーから私がデータベースを作成するのを妨げるエラー(将来のスキーマの変更は動作しないので中止)を区別したいと思います。
Postgresは関数内または複数のコマンド文字列からデータベースを作成/削除することができないため、関数でこれを行う必要があります。これは9.3では機能しません。 – ahanin
しかし、PHP、Python、Perlなどの外部スクリプトを書くことができます。 – Eelke
DROP TABLE IF EXISTS "foo"を使用するほうが簡単ではないでしょうか。 CREATE TABLE "foo"; – Enwired