Как проверить, что куст БД уже существует?

Как Стефан ответил в комментариях:

Это по умолчанию в csh!

Чтобы добавить точку отсчета, в csh manpage говорится, в разделе Variable substitution:

...

За исключением отмеченного, ссылаться на переменную, которая не установлена, является ошибкой.

...

1
21.08.2017, 19:06
1 ответ

Если вы хотите использовать Hive базу данных, попробуйте напрямую использовать куст(см. ниже)

Ответ PostgreSQL

Вопросы и ответы о переполнении стека Имитировать СОЗДАНИЕ БАЗЫ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ, для PostgreSQL?

Укажите, что PostgreSQL не имеет встроенной поддержки для IF NOT EXISTS(как у улья)

Один из упомянутых здесь простых ответов: запрашивать базу данных и только в случае сбоя запроса - создать базу данных.

psql -U postgres -tc "ВЫБЕРИТЕ 1 ИЗ pg_database WHERE datname = 'my_db'" | grep -q 1 || psql -U postgres -c "СОЗДАТЬ БАЗУ ДАННЫХ my_db"

Ответ куста:

Вы должны использовать команду с параметром [ЕСЛИ НЕ СУЩЕСТВУЕТ] :

CREATE DATABASE [IF NOT EXISTS] <database name>

Дополнительная информация

Оператор создания базы данных

Создать базу данных — это оператор, используемый для создать базу данных в Hive.А база данных в Hive — это пространство имен или набор таблиц. Синтаксис для этого оператора выглядит следующим образом:

CREATE DATABASE|SCHEMA [ЕСЛИ НЕ СУЩЕСТВУЕТ] <имя базы данных>

Здесь IF NOT EXISTS является необязательным предложением, которое уведомляет пользователя что база данных с таким именем уже существует. Мы можем использовать СХЕМУ вместо DATABASE в этой команде. Выполняется следующий запрос для создания базы данных с именем userdb:

hive> CREATE DATABASE [ЕСЛИ НЕ СУЩЕСТВУЕТ] userdb;

или

hive> CREATE SCHEMA userdb;
1
27.01.2020, 23:45

Теги

Похожие вопросы