В PostgreSQL нет прямой поддержки команды CREATE DATABASE IF NOT EXISTS, как в некоторых других реляционных базах данных, например в MySQL. 34
Несколько альтернатив:
- Использование условного запроса. 1 Можно выполнить условную логику SQL без дополнительных объектов с помощью специального синтаксиса. 1
- Применение расширения dblink. 2 С его помощью можно осуществлять SQL-операции внутри транзакций. 2
- Использование скриптов. 3 Можно написать скрипт, который будет проверять существование базы данных и создавать её, если необходимо. 3
- Создание универсальных функций. 2 Логику можно обернуть в функцию для последующего применения. 2
- Использование PL/pgSQL. 2 С его помощью можно решить ситуацию, когда предполагается, что база данных уже может быть создана. 2 В этом случае код перехватывает исключение и вместо ошибки выдаёт уведомление. 2