Я написал API, используя go и 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
Я не уверен, как лучше всего подойти к этому. Тот, который будет обрабатывать большое количество параметров для этого пограничного случая, не влияя на мой типичный вариант использования. Должен ли я разбивать идентификаторы и повторять несколько запросов, сохраняя их в памяти, пока у меня не будут все данные, которые мне нужны? Используйте ANY(VALUES)
...
Очевидно, что из запроса у меня очень ограниченные знания о Postgres, поэтому любая помощь будет невероятно оценена.