L'escape di una virgoletta singola in SQL (standard) viene eseguito utilizzando due virgolette singole, ad es.
'Peter''s house'
Preferisco usare l'esplicito ARRAY[..]
che richiede anche una citazione in meno, quindi il tuo inserto potrebbe essere scritto come:
INSERT into t1 (columnname)
VALUES (ARRAY['str1', 'str2''with quote symbol']);
Nelle versioni precedenti alla 9.1 Postgres poteva usare \
come carattere di escape alternativo ma registrerebbe un avviso se utilizzato. Dalla 9.1 il parametro di configurazione standard_conforming_strings
è abilitato e quindi il \
non può essere utilizzato come escape per una singola virgoletta.