我从information_schema.columns的加载中尝试了简单的create语句,它确实起作用。
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
任何帮助将不胜感激!
答案 0 :(得分:2)
Redshift具有LEADER节点和COMPUTE节点
某些功能仅在领导者节点上可用,其中包括对information_schema表的访问。
所有“普通”模式表仅在COMPUTE节点上可用。
当您尝试将两者混合使用时,例如通过仅从一个领导节点创建表来创建普通表,这是行不通的。
这同样适用于所有仅领导者的函数和表。
解决方法可能是使用外部程序(例如python脚本)从information_schema表中获取数据,然后在需要时将该数据加载到普通表中。