使用 Prefect 时清理 ~/.prefect/pg_data/

Cleaning ~/.prefect/pg_data/ when using Prefect

我正在使用 Prefect 来自动化我的流程(python 脚本)。一旦 运行,一些数据被持久化到 postgresql 数据库,问题是 pg_data 的大小迅速失控(~20Gb),我想知道是否有办法减少数据量存储到 pg_data 当 运行 代理或有自动清理目录的方法时。

在此先感谢您的帮助,

最佳,

基督教徒

我假设您正在 运行ning Prefect Server 并且您想要清理底层数据库实例以保存 space?如果是这样,您可以通过多种方式清理 Postgres 数据库:

  • 您可以手动删除旧记录,尤其是流 运行 table 中的日志,使用 SQL、
  • 中的 DELETE FROM
  • 您可以自动执行相同的操作,例如一些用户有一个实际流程 运行 按计划从数据库中清除旧数据,
  • 或者,您可以使用 Postgres 的开源 pg_cron 作业调度程序来安排此类数据库管理任务,
  • 您也可以使用 GraphQL 执行相同操作:您需要使用 flow_run 查询查询“旧”流 运行 的流 运行 ID,然后执行delete_flow_run 突变,
  • 最后,为了更加积极主动,您可以减少生成的日志数量,方法是通常记录较少(仅记录需要的内容)并将日志级别设置为较低的类别,例如不要在代理上使用 DEBUG 日志,切换到 INFO 应该会显着减少数据库中日志消耗的 space 量。