openlang

Безопасное удаление необязательного столбца в PostgreSQL 9+

Хочу удалить столбец из таблицы. Как определить, существует ли этот столбец?

Прочитал страницу руководства https://www.postgresql.org/docs/9.2/static/sql-altertable.html, но не нашёл примера такого действия.

Ещё нашёл Проверка наличия столбца в таблице SQL Server? ( https://stackoverflow.com/questions/133031/how-to-check-if-a-column-exists-in-sql-server-table ), но это, похоже, не подходит.

Переведено с английскогоПоказать оригинал

Разговор продолжается 2

Следуя доводам
  1. Ссылка на ответ

    Можно также применить подход с IF EXISTS, который хорошо работает при выполнении миграции

    DO $$
    BEGIN
      IF EXISTS (
        SELECT column_name
        FROM information_schema.columns
        WHERE table_name = targetTable AND column_name = targetColumn
      ) THEN
        ALTER TABLE targetTable DROP COLUMN targetColumn;
      END IF;
    END $$;
    Переведено с английскогоПоказать оригинал

Другие стороны того же вопроса

  1. Недоступное поле производной таблицы в SQL

    Я выполняю следующий SQL-запрос: Он выдаёт такую ошибку: #1054 - Unknown column 'shipping.post_id' in 'on clause'. Код выгляд…

    Ответы 2Последняя активность sql
  2. Проверка наличия подходящего элемента в массиве D

    для ассоциативных массивов можно так а как сделать это с обычным массивом? Мне нужно выражение для проверки, например

    Ответы 2Последняя активность d
  3. Solc 0.7.0 отклоняет создание struct с полем mapping

    Через npm у меня установлен Solc версии 0.7.0. Создание Struct с mapping внутри выдаёт сообщение: "Struct containing a (neste…

    Ответы 2Последняя активность solidity