Я использую psycopg2.sql для динамического создания строк запроса.
Я хочу иметь возможность динамически передавать либо список столбцов, либо * (для всех столбцов) в одну и ту же строку запроса SELECT.
Это работает для списка столбцов:
qry = sql.SQL('SELECT {} FROM {}.{}').format(
sql.SQL(",").join(map(sql.Identifier, ["col1","col2"])),
sql.Identifier('schema'),
sql.Identifier('table'))
Но это не работает при попытке выбрать все столбцы:
qry = sql.SQL('SELECT {} FROM {}.{}').format(
sql.Identifier('*')),
sql.Identifier('schema'),
sql.Identifier('table'))
Я получаю сообщение об ошибке: «DatabaseError: Ошибка выполнения на sql… столбец« * »не существует»