У меня та же проблема, что и:
python добавляет "E" к строке
Все ответы даны, но я ломаю шею от этого.
Проблема в том, что psycopg2 не только экранирует значения, но и имена схем, таблиц и столбцов, например:
CREATE TABLE E'Tablename' (E'identificatie' VARCHAR(16))
Что это просто не должно! Как я могу избавиться от E и '' для имен таблиц и столбцов, но сохранить их для значений полей?
альтернатива
'CREATE TABLE ' + tablename + ' (' + fieldname... %
делает его уязвимым для SQL-инъекций снова и снова.
Застрял между камнем и наковальней ..