Gibt es ein Analog zu CREATE TABLE IF NOT EXISTS
zum Erstellen von Datenbanken?Postgres-Datenbank erstellen, wenn nicht vorhanden
Hintergrund: Ich schreibe ein Skript, um das Schema in PostgreSQL auf einem unbekannten System automatisch einzurichten. Ich bin mir nicht sicher, ob die Datenbank (oder sogar ein Teil des Schemas) bereits implementiert wurde. Daher möchte ich meinen Code so strukturieren, dass er nicht fehlschlägt (oder idealerweise sogar Fehler anzeigt), wenn ein Teil der Struktur bereits existiert. Ich möchte die Fehler, die mich davon abhalten, eine Datenbank zu erstellen (also zukünftige Schemaänderungen abzubrechen, da sie nicht funktionieren), von diesem Fehler unterscheiden.
Sie müssen dies in Funktion dann tun, und dies würde in 9.3 nicht funktionieren, da Postgres das Erstellen/Ablegen von Datenbanken innerhalb von Funktion oder Multi-Befehl-Zeichenfolge nicht zulassen. – ahanin
Aber Sie könnten ein externes Skript in PHP, Python, Perl oder was auch immer Sie bevorzugen schreiben. – Eelke
Wäre es nicht einfacher, nur DROP TABLE IF EXISTS "foo" zu verwenden; Tabelle erstellen "foo"; – Enwired