PostgreSQL, AirFlow: небольшая проблема f-string: single '}' is not allowed

Всем привет.

Столкнулся с проблемой. Есть у меня такой SQL-запрос в AirFlow:

SQL_QUERY = (f"""

...

WITH all_unputs AS (
        SELECT fct_dc.collect_project_id AS fct_dc_collect_project_id, replace(inp.text, '},{', '},-{') AS text, 

...

""")

Где-то в месте '},{', '},-{' он начинает ругаться, что не корректный синтаксис и на закрыты скобки

f-string: single '}' is not allowed

введите сюда описание изображения

Что-то могу понять как это обойти?


Ответы (1 шт):

Автор решения: asanisimov

Проблема то ни в БД ни в airflow. Вы создаете строку запроса с помощью f-string (форматированные строковые литералы), при этом все открывающие фигурные ковычки в тексте будут интерпретироваться как ожидание передачи параметров, аналог .format.

Если Вы не передаете никаких параметров, то достаточно убрать f перед строкой запроса.

→ Ссылка