Поддерживает ли Redshift любое утверждение, эквивалентное следующему?Amazon Redshift: drop table if exists
DROP TABLE IF EXISTS tablename
Поддерживает ли Redshift любое утверждение, эквивалентное следующему?Amazon Redshift: drop table if exists
DROP TABLE IF EXISTS tablename
См. Следующий ответ; это устаревший.
Поддержка
DROP TABLE IF EXISTS tablename;
был добавлен в PostgreSQL 8.2. Redshift - очень сильно модифицированная вилка 8.1 от ParAccel, и насколько я знаю, они внесли очень мало изменений в более новые версии. Очень маловероятно, что он поддерживает IF EXISTS
; вам, вероятно, нужно выполнить запрос каталога, чтобы определить, существует ли таблица, просмотрев information_schema
, а затем решив, создадите ли вы ее на основе результата.
Это поддерживается в последней версии Redshift:
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
IF EXISTS пункт, который указывает, что, если указанная таблица не существует, то команда не должна вносить изменения и возвращать сообщение о том, таблица не существует, а не заканчивается с ошибкой.
Этот раздел полезен при написании сценариев, поэтому сценарий не сбой, если DROP TABLE выполняется против несуществующей таблицы.
Взятый с online AWS Redshift docs.
Приятно видеть, что они все еще работают над совместимостью с Pg. –
Это должен быть принятый ответ. – Kerr
Эта функция поддерживается, см. Мой ответ ниже –