【发布时间】:2019-02-10 01:54:12
【问题描述】:
我有一个 JSON 文件,C:\sensors\201802091904.json。此数据文件与 PostgreSQL 安装位于同一本地驱动器上。
这是 JSON 的示例:
[
{"Data": " ** collection of property-value pairs ** }} ", "EventId": "", "Timestamp": ""},
{"Data": " ** collection of property-value pairs ** }} ", "EventId": "", "Timestamp": ""},
{"Data": " ** collection of property-value pairs ** }} ", "EventId": "", "Timestamp": ""}
]
Data 属性值是一个 JSON 对象,包含观察结果以及有关传感器的数据。
我想将文件的内容加载到 PostgreSQL 11 表中。我想将 Data 属性值加载到 JSON 列类型中。如果可能,我想将元属性(如 EventId 和 Timestamp)加载到它们自己的列中,但我稍后会弄清楚。
我找到了this 示例,但它没有产生我们寻求的结果。整个 JSON 块最终在一个字段中。我们需要将每个 JSON 对象 {"Data": " ** collection of property-value pairs ** }} ", "EventId": "", "Timestamp": ""} 插入到自己的行中。
这是迄今为止最成功的尝试:
XXX =# \set content `type C:\sensors\201802091904.json`
XXX =# create table t2 ( j jsonb );
XXX =# insert into t2 values (:'content');
XXX =# select * from t2;
如何在 Windows 10 上将 JSON 文件加载到 PostgreSQL 11 中?
【问题讨论】:
标签: json postgresql postgresql-11