pg_timetable v4 釋出了!

發表於 2021-07-29,作者:CYBERTEC PostgreSQL International GmbH
相關開源專案

我們的團隊很榮幸推出新的主要版本 pg_timetable v4,它具有新的文件、組態檔支援、重新實作的日誌記錄機制、任務和工作逾時支援、新的 CopyFromFile 內建功能以及更多功能!

請使用我們新的詳細手冊來了解更多關於新功能和設定。

下載

您現在即可在以下位置下載 pg_timetable v4https://github.com/cybertec-postgresql/pg_timetable/releases

意見回饋

請隨時提出任何問題、回報錯誤給予星標 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
  • [+] 在 "Resource" 群組下新增 --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 狀態,將 STARTED 重新命名為 CHAIN_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 動作中支援 tag 名稱中的 alpha-beta 字串 e7318a8
  • [*] 從廢棄的 gomail 切換到 ory/mail,關閉 #248 21858fd
  • [*] 更新 Github Actions 中使用的 Golang 版本 944b903
  • [*] 更新最新的發布版本徽章,包含預發布版本 8645ee0
  • [*] 使用通道 (channel) 傳輸錯誤訊息,而不是變數 0513ba8
  • [*] 在長的命令列參數名稱中使用破折號 6a73a80
  • [*] 預設情況下,在測試期間使用錯誤日誌層級 524046f
  • [-] 修正 next_run() 中「date/time field value out of range」錯誤,修正 #237 35a8cc8
  • [-] 修正 --pgurl 在連線期間被忽略的問題,關閉 #252 5d771df
  • [-] 修正空的長破折號分隔的命令列參數,修正 #279 4e8016f
  • [-] 修正 CanProceedChainExecution() 中的 ErrNoRows 檢查 f0701c4
  • [-] 修正 SelectChain() 8b802c3
  • [-] 從 import 中移除 database/sql eeb3eb4
  • [-]add_job() 函數中移除 STRICT 選項,修正 #291 2eff73a
  • [-] 移除 CheckNeedMigrateDb() 函數中不必要的日誌記錄 f59fdda