PostgreSQL:从 psql 参数设置

Ada*_*tan 8 postgresql performance ubuntu

按照这个关于限制 PostgreSQL 中每个查询的资源的答案,我被建议为查询执行设置超时值

SET statement_timeout TO '1min';
Run Code Online (Sandbox Code Playgroud)

这很好,但有时我想放宽对特定脚本的限制。

  • 有没有办法将超时设置为psql参数?我试过了psql --set statement_timeout=50,不成功。
  • 有没有办法从使用 psycopg2 的 Python 脚本中设置它?

Pet*_*aut 10

您可以使用环境变量PGOPTIONS。永久设置或仅在您调用 psql 时设置它,例如,

PGOPTIONS='--statement-timeout=1min' psql ...
Run Code Online (Sandbox Code Playgroud)

这适用于任何 libpq 客户端,包括 psycopg。

当然你也可以把SET语句放在 psqlscript 中。