私は数百のJsonオブジェクトを含むjsonファイルを持っています。複数のJSONオブジェクトをPostgreSQLに追加
マイPostgreSQLのテーブルは次のように作成されました:
CREATE TABLE collections(
id serial,
collection json);
それはINSERT INTO collections (collection) values (json_object);
を使用してテーブルに一度に一つのオブジェクトを追加することができますが、それは退屈で、持続可能ではありません。これを行うより良い方法は何でしょうか? I(2)キーに対応する列を作成し、そうような値を追加し、そこに一時テーブルとバルクJSONデータを作成する(1)を作成することであった(explained by this StackOverflow answerように)見出さ
一つの解決策:
create temporary table temp_json (values text) on commit drop;
copy temp_json from 'C:\SAMPLE.JSON';
-- remove this comment to insert records into your table
-- insert into tbl_staging_eventlog1 ("EId", "Category", "Mac", "Path", "ID")
select values->>'EId' as EId,
values->>'Category' as Category,
values->>'Mac' as Mac,
values->>'Path' as Path,
values->>'ID' as ID
from (
select json_array_elements(replace(values,'\','\\')::json) as values
from temp_json
) a;
これNoSQLの全目的を破っています。私は単に、各行にjsonオブジェクトを持つ自動インクリメントIDを格納したいだけです。
問題はありますか? http://stackoverflow.com/q/29497662/3937028 –
@antonio_antuan実際には、この '[{json_object1}、{json_object2}、.....]のようなオブジェクトを持つ1つのJSONファイルがあります。それらは 'row1:1、json_object2 row2:2、json_object2..'のように私のpostgresqlのデータベースに保存されています。これらは何百ものjsonオブジェクトであり、増加していることを念頭に置いてください。 – mugizico
ああ、これを試してみてください:http://adpgtech.blogspot.ru/2014/09/importing-json-data.html?m=1 –