Используйте обратную косую черту, чтобы избежать скобок. Обратите внимание, что если параметр standard_conforming_strings отключен (это поведение по умолчанию до PostgreSQL 9.1), вам необходимо использовать две обратные косые черты \\
.
Как правило, есть три подхода, как избежать скобок:
- обычный
'pattern'
синтаксис, который зависит от настройки standard_conforming_strings
- экранированная строковая константа, например
E'pattern'
- строковые константы в кавычках
$$pattern$$
или $sometext$pattern$sometext$
Первый - это стандартный SQL (особенно с standard_conforming_strings), другие - расширения PostgreSQL. Выберите любой метод, который вам нравится.
Вот несколько примеров:
SET standard_conforming_strings = 0;
SELECT
'Antonio De Sant''Ana Galvao Av Frei (Av 01 Parte A)'
~*
'Antonio De Sant\'Ana Galvao Av Frei \\(Av 01 Parte A\\)'
SET standard_conforming_strings = 1;
SELECT
'Antonio De Sant''Ana Galvao Av Frei (Av 01 Parte A)'
~*
'Antonio De Sant''Ana Galvao Av Frei \(Av 01 Parte A\)'
SELECT
'Antonio De Sant''Ana Galvao Av Frei (Av 01 Parte A)'
~*
E'Antonio De Sant\'Ana Galvao Av Frei \\(Av 01 Parte A\\)'
SELECT
'Antonio De Sant''Ana Galvao Av Frei (Av 01 Parte A)'
~*
$$Antonio De Sant'Ana Galvao Av Frei \(Av 01 Parte A\)$$
SET standard_conforming_strings = default;