26.3. Изменение типа данных столбца (metastore.change_column_type) #

Требуемые права: только администратор Postgres Pro AXE. За подробной информацией о хранимых процедурах и правах обратитесь к Разделу 22.1.

Выполните следующую команду:

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

Где:

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

    Можно указать полное имя в формате имя_схемы.имя_таблицы или просто имя таблицы. Если не указать имя аналитической схемы, используется текущая схема.

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

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

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

Postgres Pro AXE выполняет следующие действия:

  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 для аналитической таблицы.

Пример 26.3. Выполнение хранимой процедуры metastore.change_column_type

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