quote_identused to quote identifiers. quote_literalused for string quoting.
postgres=
βββββββββββββββ
β quote_ident β
βββββββββββββββ‘
β tablename β
βββββββββββββββ
(1 row)
postgres=
ββββββββββββββββββ
β quote_ident β
ββββββββββββββββββ‘
β "special name" β
ββββββββββββββββββ
(1 row)
postgres=
βββββββββββββββββββββββββββββββββββββ
β quote_literal β
βββββββββββββββββββββββββββββββββββββ‘
β 'some text with special char"''"' β
βββββββββββββββββββββββββββββββββββββ
(1 row)
? , , , ... ? - ( ). , - SQL.
- . quote_literal USING ( ), quote_ident format (- ):
EXECUTE format('UPDATE tbl SET %I=$1 WHERE key=$2', colname)
USING newvalue, keyvalue;
EXECUTE format('UPDATE tbls SET %I=%L WHERE key=%L', colname, newvalue, keyvalue);
SQL a) ( ), b) SQL-.