我创建了一个爬虫程序,它查看带有JSONB列的PostgreSQL 9.6 RDS表,但爬虫程序将列类型标识为“字符串” . 当我尝试创建一个从S3上的JSON文件加载数据到RDS表时,我得到一个错误 .
如何将JSON文件源映射到JSONB目标列?
它不是一个直接的副本,但对我有用的方法是将目标表上的列定义为TEXT . 在胶水作业填充该字段后,我将其转换为JSONB . 例如:
alter table postgres_table alter column column_with_json set data type jsonb using column_with_json::jsonb;
请注意对现有文本数据使用强制转换 . 没有它,alter列就会失败 .
1 回答
它不是一个直接的副本,但对我有用的方法是将目标表上的列定义为TEXT . 在胶水作业填充该字段后,我将其转换为JSONB . 例如:
请注意对现有文本数据使用强制转换 . 没有它,alter列就会失败 .