@estry

Как правильно выполнить запрос в postgresql psycopg3?

Выполняю такой запрос с помощью psycopg:
query = "INSERT INTO followers (user_id, first_name, last_name, user_name, status, date_join) VALUES (%s, %s, %s, %s, %s, %s) " 
async with self.connector.cursor() as cursor:
   await cursor.execute(query, (user_id, first_name, last_name, user_name, status, datetime.now()))

Все хорошо, работает.

Но если в запросе только один параметр то есть вот так:
query = "COPY (SELECT * FROM users ORDER BY time_start) TO %s CSV DELIMITER ';' ENCODING 'UTF-8' HEADER;" 
async with self.connector.cursor() as cursor:
    await cursor.execute(query, (path_file))

то получаю ошибку
TypeError: query parameters should be a sequence or a mapping, got str

Пробовал вот так параметр передавать
await cursor.execute(query, path_file) и await cursor.execute(query, (path_file, ))
Тоже получаю ошибку.

Подскажите, как правильно?
  • Вопрос задан
  • 373 просмотра
Решения вопроса 1
electis
@electis
Программист Python/Django
await cursor.execute(query, (path_file,))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы