Chcę utworzyć bazę danych, która nie istnieje w JDBC. W przeciwieństwie do MySQL, PostgreSQL nie obsługuje składni create if not exists
. Jaki jest najlepszy sposób na osiągnięcie tego?Symulować tworzenie bazy danych, jeśli nie istnieje dla PostgreSQL?
Aplikacja nie wie, czy istnieje baza danych, czy nie. Powinno to sprawdzić i jeśli istnieje baza danych, powinna zostać użyta. Dlatego połączenie z żądaną bazą danych ma sens, a jeśli połączenie nie powiedzie się z powodu braku bazy danych, należy utworzyć nową bazę danych (poprzez połączenie z domyślną bazą danych postgres
). Sprawdziłem kod błędu zwrócony przez PostgreSQL, ale nie mogłem znaleźć żadnego odpowiedniego kodu tego samego gatunku.
Inną metodą osiągnięcia tego byłoby połączenie się z bazą danych postgres
i sprawdzenie, czy istnieje pożądana baza danych i podjęcie odpowiednich działań. Drugi jest nieco żmudny do opracowania.
Czy istnieje sposób na uzyskanie tej funkcji w Postgresie?
Jak możemy to zapisać za pomocą 'jdbc' lub osadzić to w kodzie java. –
@AmanDeepGautam: To jest prosta instrukcja SQL.Powinieneś być w stanie wykonać go jak każdy inny z 'stmt.executeQuery (zapytanie)'. –
Niestety 9.3 (co najmniej) tego nie lubi: "BŁĄD: TWORZENIE BAZY DANYCH nie może być wykonane z ciągu funkcji lub wielu poleceń" –