Как мне выполнить поиск регулярного
Оператор ~ производит поиск регулярного выражения, а оператор ~* производит независимый от регистра букв поиск регулярного выражения. Независимый от регистра вариант LIKE называется ILIKE.
Независимое от регистра сравнение обычно выражается так:
SELECT * FROM tab WHERE lower(col) = 'abc';
Эта конструкция не будет использовать стандартный индекс. Однако, если вы создадите индекс выражения, он будет использован:
CREATE INDEX tabindex ON tab (lower(col));