Use barra invertida para escapar dos parênteses. Observe que se standard_conforming_strings estiver definido como off (que é o comportamento padrão até o PostgreSQL 9.1), você precisa usar duas barras invertidas
\\
. Geralmente, existem três abordagens para escapar dos parênteses:
- comum
'pattern'
sintaxe, que depende da configuração standard_conforming_strings - constante de string de escape, por exemplo
E'pattern'
- constantes de string cotadas em dólares
$$pattern$$
ou$sometext$pattern$sometext$
O primeiro é o SQL padrão (especialmente com standard_conforming_strings), outros são extensões do PostgreSQL. Escolha o método que você gosta.
Aqui tens alguns exemplos:
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;