2025年9月25日: PostgreSQL 18 发布!

pg_timetable v4 已发布!

发布于 2021-07-29,作者 CYBERTEC PostgreSQL International GmbH
相关开源项目

我们的团队自豪地推出全新主要版本 pg_timetable v4,带来了新的文档、配置文件支持、重构的日志系统、作业和任务超时支持、新的 CopyFromFile 内置功能,以及更多内容!

请参阅我们新的 详细手册,了解更多关于新功能和设置的信息。

下载

您现在即可前往:https://github.com/cybertec-postgresql/pg_timetable/releases 下载 pg_timetable v4

反馈

请随时提出您的 问题,报告 bug,为 pg_timetable 项目 点赞,并将其分享给全世界。

更新日志 💔🌄🧪

  • [!] 添加 Viper 配置文件支持,解决 #177 bebab44
  • [!] 添加 CopyFromFile 内置任务 f87d6fc
  • [!] 添加 Readthedocs 文档 (#254) 004b31f
  • [!] 合并 timetable.command 表和 timetable.task 表,解决 #261 8604b18
  • [!] 重构日志系统,解决 #158 (#231) 4313948
  • [!] 移除 jmoiron/sqlxDATA-DOG/go-sqlmock 依赖,解决 #187 #202 6542b71
  • [!] 移除旧的迁移文件,从头开始,解决 #258 020563d
  • [!] 从头重写 cron 处理 35a8cc8 fbfbfb2
  • [!] 使用类重写 pgengine 和 scheduler,避免全局变量 fa37167
  • [!] 使用 Go 1.16 构建发布版本 729ef31
  • [!] 使用新的统一术语:command -> task -> chain f59fdda
  • [+] 添加 $PGTT_CLIENTNAME 环境变量 31faae6
  • [+] 在“资源”组下添加 --cronworkers--intervalworkers 选项 91f5c0e
  • [+] 添加 .pgpass 支持,解决 #247 d3a317f
  • [+] 添加 --chain-timeout 命令行参数,解决 #270 7f27a50
  • [+] 添加 --log-database-level 命令行参数,解决 #274 338c28c
  • [+] 添加 --task-timeout 命令行参数 80428a7
  • [+] 添加所有发布徽章 0b1ae61
  • [+] 添加链超时,解决 #267 05b9736
  • [+] 添加 config.example.yaml 文件 bebab44
  • [+] 添加 config_test 5df8386
  • [+] 为对象添加数据库注释 f59fdda
  • [+] 添加文档徽章 e325ff5
  • [+]LogHook 添加高负载跳过超时 0513ba8
  • [+] 添加使用 COPY 机制进行 PostgreSQL 的日志钩子 93d51cc
  • [+] 添加 LogHook 测试 0513ba8
  • [+] 将内置任务和 SQL 任务的输出添加到 timetable.execution_log,解决 #185 (#224) 681caf3
  • [+] 添加 pgengine.NewDB 函数 330cb62
  • [+] 添加 pgxpoolIface 33fa7a4
  • [+] 添加日志到文件的支持,解决 #272 6a73a80
  • [+] 将支持的云环境添加到 readme,#256 70c9f49
  • [+] 将支持的 PostgreSQL 版本和操作系统添加到 readme,解决 #256 5695742
  • [+] 添加任务超时,解决 #271 80428a7
  • [+] 添加 TASK_STARTEDTASK_DONE 状态,重命名 STARTEDCHAIN_STARTED 660e32b
  • [+] 添加 TestMigratorOptions() 并增加 TestMigrateTxError() 的覆盖率 466c909
  • [+] 添加 TestSchedulerExclusiveLocking() 08e7ff9
  • [+] 添加 TestSelectChains() 3696f01
  • [+] 在手册中添加时区信息 77c0237
  • [+] 为所有发布文件添加版本号,解决 #228 cf72721
  • [+] 允许为 SendMail 内置任务指定 content-type,解决 #225 (#226) 100bedd
  • [+] 升级 github.com/pashagolub/pgxmock 到 1.2.0 af98bfd
  • [+] 升级 github.com/spf13/viper 到 1.8.1 e7b30fd
  • [+] 升级 jackc/pgconn 版本到 1.9.0 7f2d671
  • [+] 升级 jackc/pgtype 版本到 1.8.0 7f2d671
  • [+] 升级 jackc/pgx 版本到 4.12.0 7f2d671
  • [+] 升级 jessevdk/go-flags 版本到 1.5.0 7f2d671
  • [*] 升级 georgysavva/scany 到 0.2.9 c1f9529
  • [+] 创建 Dependabot 配置文件 37729d7
  • [+] 删除仅成功执行的自毁链,解决 #265 613a945
  • [+] 增加 TestMigrations() 的覆盖率 975d68c
  • [+] 增加 v4 测试覆盖率 (#222) 9689e50
  • [+] 在 max_instance 检查期间立即插入运行状态,解决 #223 5765662
  • [+] 引入 PgxIface, PgxConnIface, PgxPoolIface b028eaa
  • [+] 将缓存设置移至 LogHook 0513ba8
  • [+] 在创建 LogHook 时设置客户端名称 0513ba8
  • [+] 明确指定测试密码 524046f
  • [+] 使用 //go:embed 用于迁移 .sql 文件 aaee11d
  • [+] 使用 //go:embed 用于 pgengine .sql 文件 b453937
  • [+] 使用 retcode 和 deferred 函数代替 os.Exit() 7a1cdfa
  • [*] 将 "--port" 命令行选项类型更改为整数 bebab44
  • [*] 通过仅使用与任务相关的信息,减少 run_status 行的使用 660e32b
  • [*] 改进并重命名 get_running_jobs() 为 get_chain_running_statuses() 7a1cdfa
  • [*] 改进 TestExecuteSQLTask() 396cc88
  • [*] 改进 timetable.run_status 表 7a1cdfa
  • [*] 在构建操作中让 go test 快速失败 35a8cc8
  • [*] 让 pgengine.NewDB() 和 config.NewCmdOptions() 使用可变字符串参数 524046f
  • [*] 将 health_check() 函数移至 job_functions.sql 7a1cdfa
  • [*] 将 Logger 移至合适的文件 b5bcece
  • [*] 将 PgURL 解析移至 pgengine bebab44
  • [*] 将 SetupCloseHandler 移至 main.go 7a1cdfa
  • [*] 从日志中移除敏感信息,解决 #286 aba954d
  • [*] 移除未使用的 chain.excluded_execution_configs 列 f59fdda
  • [*] 移除未使用的 PgEngine.CanProceedChainExecution() 4cf2323
  • [*] 移除未使用的 timetable.trig_chain_fixer(),解决 #255 5b033d7
  • [*] 将 pgengine.UpdateChainRunStatus 重命名为 AddChainRunStatus 660e32b
  • [*] 将 rus_status.current_execution_element 列重命名为 command_id 660e32b
  • [*] 将 "--verbose" 命令行选项替换为 "--loglevel" bebab44
  • [*] 如果 context 过期,立即从 pgengine.CanProceedChainExecution 返回 34946b8
  • [*] 简化 pgengine.CanProceedChainExecution() 函数 7a1cdfa
  • [*] 简化 readme.md,#256 b7cc5bf
  • [*] 将选项分组:Connection、Logging、Start 等 bebab44
  • [*] 将远程数据库连接字符串直接存储在 chain 表中,解决 #234 20f28f8
  • [*] 支持 Release action 中的标签名称中的 alpha-beta 字符串 e7318a8
  • [*] 从废弃的 gomail 切换到 ory/mail,解决 #248 21858fd
  • [*] 更新 Github Actions 中使用的 Golang 版本 944b903
  • [*] 更新最新的发布徽章,包含预发布版本 8645ee0
  • [*] 使用 channel 处理错误而不是变量 0513ba8
  • [*] 在长命令行参数名称中使用连字符 6a73a80
  • [*] 默认在测试中使用 error 日志级别 524046f
  • [-] 修复 next_run() 中的 'date/time field value out of range' 错误,修复 #237 35a8cc8
  • [-] 修复 --pgurl 在连接时被忽略的问题,解决 #252 5d771df
  • [-] 修复空的长横杠分隔的命令行参数,修复 #279 4e8016f
  • [-] 修复 CanProceedChainExecution() 中的 ErrNoRows 检查 f0701c4
  • [-] 修复 SelectChain() 8b802c3
  • [-] 从导入中移除 database/sql eeb3eb4
  • [-] 移除 add_job() 函数中的 STRICT 选项,修复 #291 2eff73a
  • [-] 移除不需要的 logging CheckNeedMigrateDb() 函数 f59fdda