Может ли Postgres разрешать экранирование символов, передаваемых из RESP API в JSONB? - PullRequest
0 голосов
/ 28 мая 2019

У меня есть Python API, который вставляет данные в таблицу Postgres, используя хранимую процедуру, которая принимает jsonb и выполняет вставку в таблицу. Пример:

create function insert_new_employee(i jsonb) returns json as:
    $$
    begin
        insert into newhire(name, payload) values (i ->> 'name', i)
    end
    $$

Когда я выполняю тестовую вставку с использованием клиента SQL, например datagrip, он вставляется успешно:

select insert_new_employee('{"name":"alfred"}')

Однако, когда я использую Python API, полезная нагрузка преобразуется в:

"{\"name\":\"alfred\"}"

Из-за экранирования имя не анализируется и не сохраняется в столбце имени, однако столбец полезной нагрузки jsonb принимает его.

Есть ли у Postgres способ очистить и справиться с экранированием символов при передаче запроса через API?

...