我正在尝试在 Redshift 中生成时间序列并插入表中,但没有成功。到目前为止我已经尝试过:
insert into date(dateid,date)
SELECT
to_char(datum, 'YYYYMMDD')::int AS dateid,
datum::date AS date
FROM (
select '1970-01-01'::date + generate_series(0, 20000) as datum
) tbl;
出现以下错误
SQL Error [500310] [0A000]: [Amazon](500310) Invalid operation: Specified types or functions (one per INFO message) not supported on Redshift tables.;
有什么想法或解决方法吗?
问题是generate_series()
可以在Leader节点上运行,但是不在计算节点上.
因此,可以运行如下语句:
SELECT '1970-01-01'::date + generate_series(0, 20000)
但是,不可能在FROM
因为这会涉及计算节点。
解决方案:外部创建信息表并将结果加载到date
表,或使用generate_series()
直接生成所需的值,保存结果并将其导入到date
table.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)