繁体   English   中英

在Windows 10上将JSON文件导入Postgresql 11

[英]Importing a JSON file into Postgresql 11 on Windows 10

我有一个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列类型中。 如果可能的话,我想将meta属性(例如EventIdTimestamp加载到它们自己的列中,但是稍后我可以弄清楚。

我找到了这个例子,但是没有产生我们想要的结果。 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上的PostgreSQL 11中加载JSON文件?

如果您成功地遵循了该示例,则距离将jsonb数组扩展为几个简单的jsonb仅一步之遥:

CREATE TABLE T (j jsonb);
INSERT INTO T SELECT jsonb_array_elements(j)::jsonb FROM T2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM