Niezależnie od użytych narzędzi i języków programowania podejście, którego będziesz chciał użyć, jest takie samo:
-
W swoim programie, podczas uruchamiania, połącz się z
template1
lubpostgres
bazy danych, które są zawsze dostępne podczas instalacji PostgreSQL i wydająSELECT 1 FROM pg_database WHERE datname = ?
i jako pierwszy parametr przekaż żądaną nazwę bazy danych. -
Sprawdź zwrócony zestaw wyników. Jeśli zwracany jest wiersz, oznacza to, że baza danych istnieje, gotowe, nie są wymagane żadne dalsze działania. Jeśli nie zostanie zwrócony żaden wiersz, oznacza to, że baza danych nie istnieje i musisz ją utworzyć, więc:
-
Wydaj
CREATE DATABASE mydatabasename;
z dowolnymi żądanymi opcjami, takimi jakOWNER
,ENCODING
, itp. w instrukcji, aby utworzyć własną bazę danych. Nowa baza danych będzie pusta. -
Zapełnij bazę danych, łącząc się z nową bazą danych w Twojej aplikacji i wysyłając sekwencję poleceń SQL bezpośrednio z Twojej aplikacji, lub wywołując
psql
polecenie w powłoce, aby odczytaćsql
skryptu i wyślij go do bazy danych. Generalnie wolałbym uruchamiać SQL bezpośrednio w mojej aplikacji.
Jeśli zamiast tego chcesz utworzyć bazę danych podczas instalacji, zależy to głównie od Ciebie i Twojego instalatora, ale zwykle będzie to tak proste, jak CREATE DATABASE
wywołanie po uruchomieniu PostgreSQL, a następnie karmienie psql
skrypt.