Я написал API, используя go and gorm, который выполняет вычисления в нашей базе данных и возвращает результаты.
Я только что достиг предела параметра для условия IN
при использовании агрегата.Пример запроса:
SELECT SUM(total_amount) from Table where user_id in(...70k parameters) group by user_id
В одном из моих текущих краевых случаев> 65535 идентификаторов пользователей, поэтому мой клиент Postgres выдает ошибку:
got 66037 parameters but PostgreSQL only supports 65535 parameters
I'mне уверен, что лучший способ подойти к этому.Тот, который будет обрабатывать большое количество параметров для этого граничного случая, но не влияет на мой типичный вариант использования.Должен ли я разделять идентификаторы на части и выполнять несколько запросов, сохраняя их в памяти, пока у меня не появятся все необходимые данные?Используйте ANY(VALUES)
...
Очевидно, что из запроса у меня очень ограниченные знания Postgres, поэтому любая помощь будет невероятно оценена.