Czy istnieje analogia do CREATE TABLE IF NOT EXISTS
do tworzenia baz danych?Utworzenie bazy danych Postgres, jeśli nie istnieje
Tło: Piszę skrypt, aby automatycznie skonfigurować schemat w PostgreSQL na nieznanym systemie. Nie jestem pewien, czy baza danych (a nawet część schematu) była już wdrożona, więc chcę, aby mój kod nie został zignorowany (lub najlepiej nawet pokazałby błędy), jeśli część struktury już istnieje. Chcę odróżnić błędy, które uniemożliwiają mi tworzenie bazy danych (tak abort przyszłe zmiany schematu, ponieważ nie będą działać) z tego błędu.
Trzeba to zrobić w funkcji, a to nie zadziała w 9.3, ponieważ Postgres nie pozwala na tworzenie/usuwanie baz danych z funkcji wewnętrznej lub ciągu wielu poleceń. – ahanin
Ale możesz napisać skrypt zewnętrzny w php, python, perlu lub cokolwiek chcesz. – Eelke
Czy nie byłoby prostsze po prostu użycie DROP TABLE IF IF EXISTS "foo"; UTWÓRZ TABELĘ "foo"; – Enwired