Postgre Escape single quote.

Non so se vi ci siete mai imbattuti, ma con postgre pu capitare di dover eseguire delle query piuttosto che operazioni su di un recordset.
A me capitato di dover far eseguire circa 600.000 query ( per impostare, creare un database, le tabelle ed inserire dati ).
Ho pianto in giapponese, in cinese, in tailandese… ma nulla le virgolette ( single quote ) non volevano essere digerite.
Alla fine, googlando qui e l sono imbattuto nel doppio segno del dollaro ‘$$’
OOOK fatta, ho provato a sostituire l’apice di inizio e fine della stringa delle query e … magicamente query digerita :
INSERT INTO prova (uno, due, tre) VALUES ($$L’attenzione all’arte fondamentale$$,123,123) —> FUNZIONA
INSERT INTO prova (uno, due, tre) VALUES (‘l’‘attenzione all’‘arte fondamentale’,123,123) —> NON FUNZIONA
INSERT INTO prova (uno, due, tre) VALUES ('l\'attenzione all\‘arte fondamentale’,123,123) —> NON FUNZIONA SU POSTGRE MA FUNZIONA SU MYSQL

Quindi se il testo contiene l’apice ( single quote ) possiamo qualificare il testo non con ‘testo’ ma con $$testo$$ e, poi anche se non contiene l’apice la query viene digerita comunque…

Per scrivere, modificare invece il recordset non ho mai avuto problemi.

Hai provato con i prepared statement?

in ogni caso dipende della configurazione
cfr: http://docs.itpug.org/runtime-config-compatible.html#guc-backslash-quote