Postgres database create if not exists

Konstantin Tarashchanskiy picture Konstantin Tarashchanskiy · Apr 4, 2013 · Viewed 19.2k times · Source

Is there an analog to CREATE TABLE IF NOT EXISTS for creating databases?

Background: I am writing a script to automatically set up the schema in PostgreSQL on an unknown system. I am not sure if the database (or even part of the schema) was already deployed, so I want to structure my code to not fail (or ideally even show errors) if some of the structure already exists. I want to differentiate the errors that prevent me from creating a database (so abort future schema changes since they will not work) from this error.

Answer

Eelke picture Eelke · Apr 4, 2013

No but you could query the pg_catalog.pg_database table to see if it exists.