[英]How to import Json data into Postgres table
我有一個API,可提供名為CorporateHoliday.txt的 json數據文本文件。
數據如下所示:
{
"holiday_id":"1712010100000104",
"holiday_date":"2018-12-30 00:00:00.0",
"holiday_description":"SUNDAY",
"holiday_status":"A"
},
{
"holiday_id":"1712010100000103",
"holiday_date":"2018-12-29 00:00:00.0",
"holiday_description":"SATURDAY",
"holiday_status":"A"
}
我的postgres表屬性看起來像這樣t_leave_holida(objectid,holiday_date,description,recstatus)
我想將這些json數據從txt文件導入到postgres數據庫表中?
您可以使用jsonb
類型,而只需從json中選擇數據,例如:
db=# create table t_leave_holida(objectid bigint, holiday_date timestamp(1), description text,recstatus text);
db=# insert into t_leave_holida select (d->>'holiday_id')::bigint, (d->>'holiday_date')::timestamp, d->>'holiday_description', d->>'holiday_status' from (select '{
"holiday_id":"1712010100000104",
"holiday_date":"2018-12-30 00:00:00.0",
"holiday_description":"SUNDAY",
"holiday_status":"A"
}'::jsonb d) ali;
INSERT 0 1
db=# select * from t_leave_holida;
objectid | holiday_date | description | recstatus
------------------+---------------------+-------------+-----------
1712010100000104 | 2018-12-30 00:00:00 | SUNDAY | A
(1 row)
構造一個json數組,我們可以將所有記錄插入t_leave_holida
insert into t_leave_holida(objectid, holiday_date,description,recstatus) select holiday_id,holiday_date,holiday_description,holiday_status from json_to_recordset( '[ { "holiday_id":"1712010100000104", "holiday_date":"2018-12-30 00:00:00.0", "holiday_description":"SUNDAY", "holiday_status":"A" }, { "holiday_id":"1712010100000103", "holiday_date":"2018-12-29 00:00:00.0", "holiday_description":"SATURDAY", "holiday_status":"A" } ]' ) as x(holiday_id bigint, holiday_date date, holiday_description text,holiday_status text);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.