我使用psql(postgresql 10.1)访问AWS / redshift上的表。
以下查询给出了一个非常神秘的错误:
=> select to_timestamp(json_extract_path_text(data, 'scheduling_at'), 'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"') as ts from my_table;
ERROR: Error:
DETAIL:
-----------------------------------------------
error: Error:
code: 14001
context: 'code != 0' - Query compilation failed for /rds/bin/padb.1.0.1582/data/exec/182/2
query: 1095356
location: cg_util.cpp:853
process: padbmaster [pid=1753]
-----------------------------------------------
查询的每个部分都是单独工作的(也就是说,我对json_extract_path_text
和to_timestamp
的使用似乎是孤立的。此外,我怀疑问题是在红移中,因为对硬编码的data
值使用完整查询有效:
=> select to_timestamp(json_extract_path_text('{"scheduling_at":"2017-12-20T21:35:25.405Z"}', 'scheduling_at'), 'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"') as ts;
ts
----------------------------
2017-12-20 21:35:25.405+00
(1 row)
有什么想法吗?这是一个非常令人沮丧的问题,我还没有找到任何关于"错误代码14001"谷歌搜索。
编辑:最小样本表,它给出错误:
=> select * from my_table;
id | data
--------------------------------------+----------------------------------------------
bca48053-3170-4c00-a2da-a9fc6ad6f888 | {"scheduling_at":"2017-12-20T21:35:25.405Z"}
(1 row)