Как искать ряд целых чисел в текстовом столбце в Python и Postgres

#python #postgresql

Вопрос:

У меня есть разделенная запятая string , в Python которой я хотел бы сравнить со text столбцом в Postgres. Колонка выглядит так:

 data {"ids":[id1]} {"ids":[id2,id3,id4]} {"ids":[id5,id6,id7]}  

Разделенные запятыми string в python выглядят так:

 id1,id2,id3..  

Все ids это integer -ценности. Я хотел бы взять все ids разделенные запятыми string и сопоставить их со data столбцом в Postgres и вернуть соответствующие результаты. Таблица Postgres очень большая, поэтому я не могу загрузить ее в память и выполнить сравнение строк. data Колонка есть text .

Я мог бы легко сопоставить, если бы у меня было только 1 id совпадение с помощью like оператора. Но я не знаю, как сопоставить кучу значений, разделенных запятыми.

Ожидаемый набор результатов в примере является:

 data {"ids":[id1]} {"ids":[id2,id3,id4]}  

Как мне это сделать?

Комментарии:

1. Каков будет результат вашего примера?

2. Обновил ожидаемый результат в вопросе.

3. Таким образом, » совпадение » означает, что для каждого элемента в вашей строке мы нашли запись в БД, которая его содержит. Правильно ли я это сделал?,

4. Правильный. Я также могу сделать это с помощью similar to оператора. Но это отнимает много времени. Поэтому мне интересно, есть ли более быстрый способ?