If I want to pass in a text[] argument to a plpgsql function, at what
array size am I asking for problems? 100? 10,000? 100,000?
What severity of problems might I encounter? Bad performance? Postgres
refusing to run my query? A crashed backend?
Yeah, like you I was pretty worried about how it would handle using
larger arrays. But I was surprised to find that it did a super job of
handling even large arrays.
One warning though. If you are going to filter a table based on values
in a large array, don't do something like:
WHERE foo = ANY some_large_array
Instead explode it using a set returning function and join it like a table:
JOIN explode(some_large_array) e ON ...