カーソルがあると、次のようにクエリを安全に実行できることがわかります。
cur.execute("SELECT * FROM foo WHERE foo.bar = %s", (important_variable,))
クエリを実行せずに文字列を安全に取得する方法はありますか?たとえば、important_variable
がのような文字列の場合"foo 'bar' \"baz"
、適切にエスケープされた文字列が必要です。
"SELECT * FROM foo WHERE foo.bar = "foo \'bar\' \"baz"
(または適切なエスケープが何であれ、私にはわかりません)。
psycopgとsqlobjectを使用しています。