pg_timetable v4 is out!

From: CYBERTEC PostgreSQL International GmbH via PostgreSQL Announce <announce-noreply(at)postgresql(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)lists(dot)postgresql(dot)org>
Subject: pg_timetable v4 is out!
Date: 2021-07-29 15:05:16
Message-ID: 162757111609.25746.1079448334043988262@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

Our team is proud to introduce new major [pg_timetable v4](https://github.com/cybertec-postgresql/pg_timetable/releases) with the new documentation, configuration file support, reimplemented logging machinery, job and task timeouts support, new CopyFromFile built-in functionality, and many more!

Please, use our new [detailed manual](https://pg-timetable.readthedocs.io/) to know more about new features and settings.

## Download

You're welcome to download the **pg_timetable v4** right now at: [https://github.com/cybertec-postgresql/pg_timetable/releases](https://github.com/cybertec-postgresql/pg_timetable/releases)

## Feedback

Please don't hesitate to ask any [questions](https://github.com/cybertec-postgresql/pg_timetable/discussions), to report [bugs](https://github.com/cybertec-postgresql/pg_timetable/issues), to [star](https://github.com/cybertec-postgresql/pg_timetable/stargazers) **pg_timetable** project and to tell the world about it.

## Changelog ๐Ÿ’”๐ŸŒ„๐Ÿงช

- `[!]` add configuration file support with Viper, closes #177 bebab44
- `[!]` add `CopyFromFile` built-in task f87d6fc
- `[!]` add Readthedocs documentation (#254) 004b31f
- `[!]` merge `timetable.command` table with `timetable.task`, closes #261 8604b18
- `[!]` reimplement logging, closes #158 (#231) 4313948
- `[!]` remove `jmoiron/sqlx` and `DATA-DOG/go-sqlmock` dependencies, closes #187 #202 6542b71
- `[!]` remove old migrations and start from scratch, closes #258 020563d
- `[!]` rewrite cron handling from scratch 35a8cc8 fbfbfb2
- `[!]` rewrite pgengine and scheduler without global variables as classes fa37167
- `[!]` use Go 1.16 to build releases 729ef31
- `[!]` use new consistent terminology: command -> task -> chain f59fdda
- `[+]` add `$PGTT_CLIENTNAME` env var 31faae6
- `[+]` add `--cronworkers` and `--intervalworkers` options under "Resource" group 91f5c0e
- `[+]` add `.pgpass` support, closes #247 d3a317f
- `[+]` add `--chain-timeout` command-line parameter, closes #270 7f27a50
- `[+]` add `--log-database-level` command-line parameter, closes #274 338c28c
- `[+]` add `--task-timeout` command line parameter 80428a7
- `[+]` add all release badge 0b1ae61
- `[+]` add chain timeout, closes #267 05b9736
- `[+]` add `config.example.yaml` file bebab44
- `[+]` add config_test 5df8386
- `[+]` add database comments for objects f59fdda
- `[+]` add docs badge e325ff5
- `[+]` add high load skip timeout to `LogHook` 0513ba8
- `[+]` add log hook for PostgreSQL using `COPY` machinery 93d51cc
- `[+]` add LogHook tests 0513ba8
- `[+]` add output for built-in and SQL tasks to the timetable.execution_log, closes #185 (#224) 681caf3
- `[+]` add `pgengine.NewDB` function 330cb62
- `[+]` add `pgxpoolIface` 33fa7a4
- `[+]` add support for logging to file, closes #272 6a73a80
- `[+]` add supported cloud environments to the readme, #256 70c9f49
- `[+]` add supported PostgreSQL versions and operating systems to the readme, closes #256 5695742
- `[+]` add task timeout, closes #271 80428a7
- `[+]` add `TASK_STARTED` and `TASK_DONE` statuses, rename `STARTED` to `CHAIN_STARTED` 660e32b
- `[+]` add `TestMigratorOptions()` and increase `TestMigrateTxError()` coverage 466c909
- `[+]` add `TestSchedulerExclusiveLocking()` 08e7ff9
- `[+]` add `TestSelectChains()` 3696f01
- `[+]` add time zone information to the manual 77c0237
- `[+]` add version number to all release files, closes #228 cf72721
- `[+]` allow specify content-type for SendMail built-in task, closes #225 (#226) 100bedd
- `[+]` bump `github.com/pashagolub/pgxmock` 1.2.0 af98bfd
- `[+]` bump `github.com/spf13/viper` to 1.8.1 e7b30fd
- `[+]` bump `jackc/pgconn` version to 1.9.0 7f2d671
- `[+]` bump `jackc/pgtype` version to 1.8.0 7f2d671
- `[+]` bump `jackc/pgx` version to 4.12.0 7f2d671
- `[+]` bump `jessevdk/go-flags` version to 1.5.0 7f2d671
- `[*]` bump `georgysavva/scany` to 0.2.9 c1f9529
- `[+]` create Dependabot config file 37729d7
- `[+]` delete only succeeded self-destructive chains, closes #265 613a945
- `[+]` increase TestMigrations() coverage 975d68c
- `[+]` Increase v4 tests coverage (#222) 9689e50
- `[+]` insert run status immediately during max_instance check, closes #223 5765662
- `[+]` introduce PgxIface, PgxConnIface, PgxPoolIface b028eaa
- `[+]` move cache settings to LogHook 0513ba8
- `[+]` set client name during LogHook creation 0513ba8
- `[+]` specify password for tests explicitly 524046f
- `[+]` use `//go:embed` for migration .sql files aaee11d
- `[+]` use `//go:embed` for pgengine .sql files b453937
- `[+]` use retcode and deferred functions instead of os.Exit() 7a1cdfa
- `[*]` change "--port" command-line option type to integer bebab44
- `[*]` decrease run_status rows usage by using only task-related information 660e32b
- `[*]` improve and rename get_running_jobs() to get_chain_running_statuses() 7a1cdfa
- `[*]` improve TestExecuteSQLTask() 396cc88
- `[*]` improve timetable.run_status table 7a1cdfa
- `[*]` make go test fail fast in the build action 35a8cc8
- `[*]` make pgengine.NewDB() and config.NewCmdOptions() use variadic string params 524046f
- `[*]` move health_check() function to job_functions.sql 7a1cdfa
- `[*]` move Logger to appropriate file b5bcece
- `[*]` move PgURL parsing to the pgengine bebab44
- `[*]` move SetupCloseHandler to main.go 7a1cdfa
- `[*]` remove sensitive information from logs, closes #286 aba954d
- `[*]` remove unused chain.excluded_execution_configs column f59fdda
- `[*]` remove unused PgEngine.CanProceedChainExecution() 4cf2323
- `[*]` remove unused timetable.trig_chain_fixer(), closes #255 5b033d7
- `[*]` rename pgengine.UpdateChainRunStatus to AddChainRunStatus 660e32b
- `[*]` rename rus_status.current_execution_element column to command_id 660e32b
- `[*]` replace "--verbose" command-line option with "--loglevel" bebab44
- `[*]` return immediately from pgengine.CanProceedChainExecution if context expired 34946b8
- `[*]` simplify pgengine.CanProceedChainExecution() function 7a1cdfa
- `[*]` simplify readme.md, #256 b7cc5bf
- `[*]` split options into groups: Connection, Logging, Start, etc. bebab44
- `[*]` store remote database connection strings in chain table directly, closes #234 20f28f8
- `[*]` support alpha-beta strings in tag name for Release action e7318a8
- `[*]` switch to ory/mail from abandoned gomail, closes #248 21858fd
- `[*]` update Golang version used in Github Actions 944b903
- `[*]` update latest release badge by including pre-releases 8645ee0
- `[*]` use channel for error instead of variable 0513ba8
- `[*]` use dashes in long command-line parameters names 6a73a80
- `[*]` uses error log level during tests by default 524046f
- `[-]` fix 'date/time field value out of range' error in next_run(), fixes #237 35a8cc8
- `[-]` fix --pgurl ignored during connection, closes #252 5d771df
- `[-]` fix empty long dash separated command-line parameters, fixes #279 4e8016f
- `[-]` fix ErrNoRows check in CanProceedChainExecution() f0701c4
- `[-]` fix SelectChain() 8b802c3
- `[-]` remove database/sql from import eeb3eb4
- `[-]` remove `STRICT` option from `add_job()` function, fixes #291 2eff73a
- `[-]` remove unneeded logging CheckNeedMigrateDb() function f59fdda

Browse pgsql-announce by date

  From Date Subject
Next Message PWN via PostgreSQL Announce 2021-08-02 01:43:13 PostgreSQL Weekly News - August 1, 2021
Previous Message PWN via PostgreSQL Announce 2021-07-26 12:28:09 PostgreSQL Weekly News - July 25, 2021