PostgreSQL obsługuje również pełne wyrażenia regularne POSIX:
select * from table where value ~* 'foo|bar|baz';
~*
dotyczy dopasowania bez rozróżniania wielkości liter, ~
uwzględnia wielkość liter.
Inną opcją jest użycie DOWOLNEGO:
select * from table where value like any (array['%foo%', '%bar%', '%baz%']);
select * from table where value ilike any (array['%foo%', '%bar%', '%baz%']);
Możesz użyć ANY z dowolnym operatorem, który daje wartość logiczną. Podejrzewam, że opcje regex byłyby szybsze, ale DOWOLNE jest przydatnym narzędziem, które możesz mieć w swoim zestawie narzędzi.