У меня возникли проблемы с использованием предложений WHERE $VARIABLE IN
в psycopg2:
from app.commons.database import conn
from psycopg2 import sql
from psycopg2.extras import DictCursor
query = '''
SELECT
*
FROM
{}.{}
WHERE
{} in %s
'''.format(
sql.Identifier('information_schema'),
sql.Identifier('tables'),
sql.Identifier('table_schema')
)
data = (
'information_schema',
'pg_catalog'
)
with conn.cursor(cursor_factory=DictCursor) as cursor:
cursor.execute(query, data)
print(cursor.fetchall())
рейзы
TypeError: не все аргументы преобразованы во время форматирования строки
Я прочитал, казалось бы, сотни постов на эту же тему, и подавляющим ответом было: «Вам необходимо использовать кортежи при отправке данных в качестве второго аргумента cursor.execute
». Я делал это и до сих пор не могу определить, где находится разрыв.