Не удалось загрузить данные из information_schema.columns в другую физическую таблицу - PullRequest
0 голосов
/ 14 июня 2019

Я пытался создать простое выражение create из загрузки с information_schema.columns, оно сработало.

CREATE TABLE mydb.stg_information_schema_columns
AS
SELECT CAST(column_name AS TEXT) FROM information_schema.columns

Недопустимая операция Amazon: указанные типы или функции (по одному на сообщение INFO) не поддерживаются в таблицах Redshift.;

Итак, я вручную создал таблицу и попытался вставить

INSERT INTO mydb.stg_information_schema_columns 
SELECT CAST(column_name AS TEXT) FROM information_schema.columns

получил тот же ОШИБКА

Но просто SELECTзаявление работает.

SELECT CAST(column_name AS TEXT) FROM information_schema.columns
--> this works

Любая помощь будет признательна!

1 Ответ

2 голосов
/ 14 июня 2019

Redshift имеет узел LEADER и узлы COMPUTE

Некоторые функции доступны только на ведущем узле, включая доступ к таблицам information_schema.

Все таблицы "нормальной" схемы доступны только на узлах COMPUTE.

Когда вы пытаетесь смешать два, например, путем создания обычной таблицы из таблицы только узла-лидера, это не работает.

То же самое относится ко всем функциям и таблицам только лидера.

Обходной путь может заключаться в использовании внешнего процесса, такого как сценарий python, для получения данных из таблицы information_schema, а затем при необходимости загружать эти данные в обычную таблицу.

...