Unabhängig von den verwendeten Tools und Programmiersprachen ist der Ansatz, den Sie dafür verwenden möchten, derselbe:
-
Verbinden Sie sich in Ihrem Programm während des Starts mit
template1
oderpostgres
Datenbanken, die in einer PostgreSQL-Installation immer verfügbar sind, und geben Sie einSELECT 1 FROM pg_database WHERE datname = ?
aus und übergeben Sie als ersten Parameter den gewünschten Datenbanknamen. -
Überprüfen Sie die zurückgegebene Ergebnismenge. Wenn eine Zeile zurückgegeben wird, ist die Datenbank vorhanden, Sie sind fertig, es sind keine weiteren Maßnahmen erforderlich. Wenn keine Zeile zurückgegeben wird, existiert die Datenbank nicht und Sie müssen sie erstellen, also:
-
Geben Sie ein
CREATE DATABASE mydatabasename;
aus mit beliebigen Optionen wieOWNER
,ENCODING
, usw. gemäß dem Handbuch, um die Datenbank selbst zu erstellen. Die neue Datenbank ist leer. -
Füllen Sie die Datenbank entweder durch Herstellen einer Verbindung mit der neuen Datenbank in Ihrer Anwendung und Senden einer Folge von SQL-Befehlen direkt von Ihrer Anwendung oder durch Aufrufen von
psql
Befehl auf der Shell, um einsql
zu lesen Skriptdatei und senden Sie diese an die Datenbank. Im Allgemeinen würde ich es vorziehen, das SQL direkt in meiner Anwendung auszuführen.
Wenn Sie die Datenbank stattdessen während der Installation erstellen möchten, liegt dies hauptsächlich an Ihnen und Ihrem Installer, aber es ist normalerweise so einfach wie ein CREATE DATABASE
aufrufen, nachdem PostgreSQL gestartet wurde, und dann psql
füttern ein Skript.