17.3. Изменение типа данных столбца #

Выполните следующий запрос:

  SELECT metastore.change_column_type('имя_схемы.имя_таблицы' или 'имя_таблицы', 'имя_столбца', 'новый_тип_данных');

Где:

  • имя_таблицы: имя аналитической схемы, в которой создана таблица.

    Необязательный параметр. Если он не задан, используется текущая схема.

  • имя_таблицы: имя аналитической таблицы, в которой создан столбец.

  • имя_столбца: имя столбца, тип данных которых изменяется.

  • тип_данных: новый тип данных столбца.

    За подробной информацией о поддерживаемых типах данных обратитесь к Разделу G.3.

Пример 17.3.

  SELECT metastore.change_column_type('testtable', 'third_col', 'uint8');

После выполнения этого запроса pgpro_metastore выполняет следующие действия:

  1. Проверяет права пользователей.

  2. Проверяет, что новый тип данных столбца не совпадает с предыдущим.

  3. Проверяет, что аналитическая таблица пустая или что новый тип данных совместим с предыдущим:

    • int8 можно изменить на int16, int32 или int64;

    • int16 можно изменить на int32 или int64;

    • int32 можно изменить на int64;

    • uint8 можно изменить на uint16, uint32 или uint64;

    • uint16 можно изменить на uint32 или uint64;

    • uint32 можно изменить на uint64;

    • float32 можно изменить на float64.

  4. Обновляет значение column_type для столбца в таблице метаданных pga_column.

  5. Обновляет значение view_sql для аналитической таблицы.