Вставка uuid из JSONB приводит к `error: неверный синтаксис ввода для uuid:` - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь вставить серию значений из массива jsonb в postgres.Тем не менее, я получаю ошибку error: invalid input syntax for uuid:.

Мои данные выглядят так

[
  {
    code: "dwfwradsa",
    purpose: "description",
    id: uuid (real uuid, this is just a placeholder)
  },
  {repeat},
  {repeat}
]

И соответствующая часть моей функции заключается в следующем.@codes - это параметр, передаваемый в функцию.

  INSERT INTO
    "codes" (
      "code",
      "purpose",
      "id"
    )
  SELECT
    codes->>'code',
    codes->>'purpose',
    codes->>'id'::UUID -- this is a foreign key from another table
  FROM jsonb_array_elements("@codes") codes
  ON CONFLICT ON CONSTRAINT unique_code DO NOTHING;

Кажется, что даже приведение не решает проблему.

Если я не произношу, я получаю эту ошибку error: column "fulfillment_center" is of type uuid but expression is of type text.

...