У меня есть простой документ JSON "example_1.JSON:
{
"fruit": "Apple",
"size": "Large",
"color": "Red"
}
Я создал временную таблицу" temp_json ", чтобы скопировать в нее файл:
CREATE TEMP TABLE temp_json (mydata text);
Я скопировалJSON-файл, используя следующую инструкцию:
COPY temp_json from 'C:\Program Files\PostgreSQL\9.5\data\example_1.JSON';
Это нормально для части копирования. Когда я вставляю значения из временной таблицы в свою таблицу базы данных "jsontable", вставка происходит без ошибок, но этовставляет значения JSON в несколько строк в моей таблице базы данных !!! Моя таблица базы данных создается следующим образом:
CREATE TABLE public.jsontable (
id bigint NOT NULL DEFAULT nextval('jsontable_id_seq'::regclass),
jsondata jsonb,
CONSTRAINT jsontable_pkey PRIMARY KEY (id)
);
Оператор вставки из временной таблицы в jsontable:
INSERT INTO jsontable(jsondata) SELECT to_jsonb(mydata::text) FROM temp_json;
Но когда я выбираю строки из jsontable, я не получаю значения JSON в одной строке!
SELECT * FROM jsontable;
Любые предложения для решенияэта проблема?