无法将信息从information_schema.columns加载到另一个物理表

时间:2019-06-14 07:48:39

标签: sql amazon-redshift

我从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

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

Redshift具有LEADER节点和COMPUTE节点

某些功能仅在领导者节点上可用,其中包括对information_schema表的访问。

所有“普通”模式表仅在COMPUTE节点上可用。

当您尝试将两者混合使用时,例如通过仅从一个领导节点创建表来创建普通表,这是行不通的。

这同样适用于所有仅领导者的函数和表。

解决方法可能是使用外部程序(例如python脚本)从information_schema表中获取数据,然后在需要时将该数据加载到普通表中。