pg_timetable alternatives and similar packages
Based on the "Database" category.
Alternatively, view pg_timetable alternatives based on common mentions on social networks and blogs.
-
Milvus
Milvus is a high-performance, cloud-native vector database built for scalable vector ANN search -
cockroach
CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement. -
tidb
TiDB is built for agentic workloads that grow unpredictably, with ACID guarantees and native support for transactions, analytics, and vector search. No data silos. No noisy neighbors. No infrastructure ceiling. -
groupcache
groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. -
TinyGo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM. -
rqlite
The lightweight, fault-tolerant database built on SQLite. Designed to keep your data highly available with minimal effort. -
bytebase
World's most advanced database DevSecOps solution for Developer, Security, DBA and Platform Engineering teams. The GitHub/GitLab for database DevSecOps. -
go-cache
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. -
immudb
immudb - immutable database based on zero trust, SQL/Key-Value/Document model, tamperproof, data change history -
buntdb
BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support -
pREST
PostgreSQL ➕ REST, low-code, simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new -
xo
Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server -
nutsdb
A simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set. -
lotusdb
Most advanced key-value database written in Go, extremely fast, compatible with LSM tree and B+ tree. -
gocraft/dbr (database records)
Additions to Go's database/sql for super fast performance and convenience.
SaaSHub - Software Alternatives and Reviews
Do you think we are missing an alternative of pg_timetable or a related project?
README
pg_timetable: Advanced scheduling for PostgreSQL
pg_timetable is an advanced standalone job scheduler for PostgreSQL, offering many advantages over traditional schedulers such as cron and others. It is completely database driven and provides a couple of advanced concepts. It allows you to schedule PostgreSQL commands, system programs and built-in operations:
-- Run public.my_func() at 00:05 every day in August:
SELECT timetable.add_job('execute-func', '5 0 * 8 *', 'SELECT public.my_func()');
-- Run VACUUM at minute 23 past every 2nd hour from 0 through 20 every day:
SELECT timetable.add_job('run-vacuum', '23 0-20/2 * * *', 'VACUUM');
-- Refresh materialized view every 2 hours:
SELECT timetable.add_job('refresh-matview', '@every 2 hours',
'REFRESH MATERIALIZED VIEW public.mat_view');
-- Clear log table after pg_timetable restart:
SELECT timetable.add_job('clear-log', '@reboot', 'TRUNCATE public.log');
-- Reindex at midnight on Sundays with reindexdb utility:
-- using default database under default user (no command line arguments)
SELECT timetable.add_job('reindex-job', '0 0 * * 7', 'reindexdb', job_kind := 'PROGRAM');
-- specifying target database and tables, and be verbose
SELECT timetable.add_job('reindex-job', '0 0 * * 7', 'reindexdb',
'["--table=foo", "--dbname=postgres", "--verbose"]'::jsonb, 'PROGRAM');
-- passing password using environment variable through bash shell
SELECT timetable.add_job('reindex-job', '0 0 * * 7', 'bash',
'["-c", "PGPASSWORD=5m3R7K4754p4m reindexdb -U postgres -h 192.168.0.221 -v'::jsonb,
'PROGRAM');
Documentation
https://pg-timetable.readthedocs.io/
Main features
- Tasks can be arranged in chains
- Each task executes SQL, built-in or executable command
- Parameters can be passed to tasks
- Missed chains (possibly due to downtime) can be retried automatically
- Support for configurable repetitions
- Builtin tasks such as sending emails, downloading, importing files, etc.
- Fully database driven configuration
- Full support for database driven logging
- Enhanced cron-style scheduling
- Optional concurrency protection
Installation
Complete installation guide can be found in the documentation.
Possible choices are:
- official release packages;
- Docker images;
- build from sources.
Quick Start
Complete usage guide can be found in the documentation.
Download pg_timetable executable
Make sure your PostgreSQL server is up and running and has a role with
CREATEprivilege for a target database, e.g.my_database=> CREATE ROLE scheduler PASSWORD 'somestrong'; my_database=> GRANT CREATE ON DATABASE my_database TO scheduler;Create a new job, e.g. run
VACUUMeach night at 00:30my_database=> SELECT timetable.add_job('frequent-vacuum', '30 0 * * *', 'VACUUM'); add_job --------- 3 (1 row)Run the pg_timetable
# pg_timetable postgresql://scheduler:somestrong@localhost/my_database --clientname=vacuumerPROFIT!
Supported Environments
| Cloud Service | Supported | PostgreSQL Version | Supported | OS | Supported |
|---|---|---|---|---|---|
| Alibaba Cloud | ✅ | 16 (devel) | ✅ | Linux | ✅ |
| Amazon RDS | ✅ | 15 (current) | ✅ | Darwin | ✅ |
| Amazon Aurora | ✅ | 14 | ✅ | Windows | ✅ |
| Azure | ✅ | 13 | ✅ | FreeBSD* | ✅ |
| Citus Cloud | ✅ | 12 | ✅ | NetBSD* | ✅ |
| Crunchy Bridge | ✅ | 11 | ✅ | OpenBSD* | ✅ |
| DigitalOcean | ✅ | 10 | ✅ | Solaris* | ✅ |
| Google Cloud | ✅ | ||||
| Heroku | ✅ | ||||
| Supabase | ✅ |
* - there are no official release binaries made for these OSes. One would need to build them from sources.
** - previous PostgreSQL versions may and should work smoothly. Only officially supported PostgreSQL versions are listed in this table.
Contributing
If you want to contribute to pg_timetable and help make it better, feel free to open an issue or even consider submitting a pull request.
Support
For professional support, please contact Cybertec.
Authors
- Implementation: Pavlo Golub
- Initial idea and draft design: Hans-Jürgen Schönig
Star History
*Note that all licence references and agreements mentioned in the pg_timetable README section above
are relevant to that project's source code only.