gpt4 book ai didi

postgresql - Airflow PostgresOperator 设置 ON_ERROR_STOP

转载 作者:行者123 更新时间:2023-11-29 11:58:24 30 4
gpt4 key购买 nike

我正在使用 PostgresOperator 创建一个任务,我想设置 ON_ERROR_STOP=1,有没有办法在 PostgresOperator 的参数中传递这个,或者我应该直接把它放在我的文件“query.sql”中吗?

my_operator = PostgresOperator(
task_id='my_operator',
dag=dag,
postgres_conn_id='my_server',
sql="sql/query.sql")

例如在 bash 中我可以这样做:

psql -v "ON_ERROR_STOP=1"

或者有什么简单的方法可以添加

\set ON_ERROR_STOP on

\unset ON_ERROR_STOP

在不编辑 query.sql 文件的情况下围绕我的查询?

谢谢!

最佳答案

我不太熟悉 postgres,但是如果你可以像发送任何其他 sql 语句一样将 \set ON_ERROR_STOP\unset ON_ERROR_STOP 发送到 postgres你总是可以这样做:

my_operator = PostgresOperator(
task_id='my_operator',
dag=dag,
postgres_conn_id='my_server',
sql=["\set ON_ERROR_STOP on","sql/query.sql", "\unset ON_ERROR_STOP"])

使用 dbapi_hook(postgres_hook 使用)您可以将多个 SQL 语句作为列表发送,它们都在同一个 session 中以相同的顺序执行它们在列表中指定。

关于postgresql - Airflow PostgresOperator 设置 ON_ERROR_STOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50408570/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com