3.4. Столбцы аналитических таблиц #
За подробной информацией об аналитических таблицах обратитесь к Разделу 3.3.
3.4.1. Создание столбца #
Выполните следующий запрос:
SELECT metastore.add_column('имя_схемы.имя_таблицы' или 'имя_таблицы', 'имя_столбца', 'тип_данных');Где:
имя_таблицы: имя аналитической схемы, в которой создана таблица.Необязательный параметр. Если он не задан, используется текущая схема.
имя таблицы: имя аналитической таблицы, в которой будет создан столбец.имя_столбца: уникальное имя столбца.тип_данных: тип данных столбца.За подробной информацией о поддерживаемых типах данных обратитесь к Приложению E.
Пример 3.23.
SELECT metastore.add_column('testtable', 'third_col', 'uint8');После выполнения этого запроса pgpro_metastore выполняет следующие действия:
Проверяет права пользователей.
Создаёт новый столбец в таблице метаданных
pga_column.Обновляет значение
view_sqlдля аналитической таблицы.
3.4.2. Переименование столбца #
Выполните следующий запрос:
SELECT metastore.rename_column('имя_схемы.имя_таблицы' или 'имя_таблицы', 'текущее_имя_столбца', 'новое_имя_столбца');Где:
имя_таблицы: имя аналитической схемы, в которой создана таблица.Необязательный параметр. Если он не задан, используется текущая схема.
имя_таблицы: имя аналитической таблицы, в которой создан столбец.текущее_имя_столбца: текущее имя столбца.новое_имя_столбца: новое уникальное имя столбца.
Пример 3.24.
SELECT metastore.rename_column('testtable', 'first_col', 'eleventh_col');После выполнения этого запроса pgpro_metastore выполняет следующие действия:
Проверяет права пользователей.
Обновляет значение
column_nameдля столбца в таблице метаданныхpga_column.Обновляет значение
view_sqlдля аналитической таблицы.
3.4.3. Изменение типа данных столбца #
Выполните следующий запрос:
SELECT metastore.change_column_type('имя_схемы.имя_таблицы' или 'имя_таблицы', 'имя_столбца', 'новый_тип_данных');Где:
имя_таблицы: имя аналитической схемы, в которой создана таблица.Необязательный параметр. Если он не задан, используется текущая схема.
имя_таблицы: имя аналитической таблицы, в которой создан столбец.имя_столбца: имя столбца, тип данных которого будет изменён.тип_данных: новый тип данных столбца.За подробной информацией о поддерживаемых типах данных обратитесь к Приложению E.
Пример 3.25.
SELECT metastore.change_column_type('testtable', 'third_col', 'uint8');После выполнения этого запроса pgpro_metastore выполняет следующие действия:
Проверяет права пользователей.
Проверяет, что новый тип данных столбца не совпадает с предыдущим.
Проверяет, что аналитическая таблица пустая или что новый тип данных совместим с предыдущим:
int8можно изменить наint16,int32илиint64;int16можно изменить наint32илиint64;int32можно изменить наint64;uint8можно изменить наuint16,uint32илиuint64;uint16можно изменить наuint32илиuint64;uint32можно изменить наuint64;float32можно изменить наfloat64.
Обновляет значение
column_typeдля столбца в таблице метаданныхpga_column.Обновляет значение
view_sqlдля аналитической таблицы.
3.4.4. Удаление столбца #
Выполните следующий запрос:
SELECT metastore.delete_column('имя_схемы.имя_таблицы' или 'имя_таблицы', 'имя_столбца');Где:
имя_таблицы: имя аналитической схемы, в которой создана таблица.Необязательный параметр. Если он не задан, используется текущая схема.
имя_таблицы: имя аналитической таблицы, в которой создан столбец.имя_столбца: имя столбца, который будет удалён.
Пример 3.26.
SELECT metastore.delete_column('my_schema.testtable', 'second_col');После выполнения этого запроса pgpro_metastore выполняет следующие действия:
Проверяет права пользователей.
Создаёт новый снимок в таблице метаданных
pga_snapshotи указывает для столбца значениеend_snapshotв таблице метаданныхpga_column.Обновляет значение
view_sqlдля аналитической таблицы.