Я работаю над событием, которое сравнивает значения jsonb в столбце между последней записью и новой записью. У меня есть другая таблица, которая определяет, какие значения сравнивать, передавая сам объект jsonb. То, с чем я работаю, выглядит примерно так:
select jsonb_extract_path(_tmp_jsonb, 'key_1', 'key2') into target;
и объект jsonb, который я смотрю внутрь, таков:
{
"key1": {"key2": 15},
"key3": {"key2": {"key4": 25}}
}
Теперь я могу получить 15 с помощью приведенной выше командынет проблем, но я бы хотел передавать любые комбинации клавиш в виде массива jsonb, например {"search_keys":["key3", "key2", "key4"]}
. Итак, что-то вроде этого:
select jsonb_extract_path(_tmp_jsonb, ["key3", "key2", "key4"]) into target;
Более ясно, что я спрашиваю, как использовать массивы аргументов переменной длины в postgres, как вы это сделали бы в python с * args.