Noted. Thanks for suggestions. We will open-source it as an extension.
Regards,
Cheng
------------------ Original ------------------
From:
"Dave Page"
<[email protected]>;
Date: Thu, Jun 6, 2024 04:59 PM
To: "Laurenz Albe"<[email protected]>;
Cc: "Wang
Cheng"<[email protected]>;"pgsql-hackers"<[email protected]>;
Subject: Re: Proposal: Job Scheduler
On Thu, 6 Jun 2024 at 09:47, Laurenz Albe <[email protected]> wrote:
On Thu, 2024-06-06 at 16:27 +0800, Wang Cheng wrote:
> We are the PostgreSQL team in Tencent. We have recently developed a job
scheduler
> that runs inside the database to schedules and manages jobs similar to
Oracle
> DBMS_JOB package, and we would like to contribute this feature to the
community.
>
> As far as we know, there are currently two open-sourced job scheduling
extensions
> for PostgreSQL: pg_cron (https://github.com/citusdata/pg_cron/) and
pg_dbms_job
> (https://github.com/MigOpsRepos/pg_dbms_job/tree/main). However, the
cron-based
> syntax is not easy to use and suffers some limitations like one-off
commands.
> The pg_dbms_job extension is difficult to manage and operate because it
runs as
> a standalone process .
There is also pg_timetable:
https://github.com/cybertec-postgresql/pg_timetable
And probably the oldest of them all,
pgAgent: https://www.pgadmin.org/docs/pgadmin4/8.7/pgagent.html
> That's why we have developed the job scheduler that runs as a process
inside the
> database just like autovacuum.
>
> We can start to send the patch if this idea makes sense to the you.
Perhaps your job scheduler is much better than all the existing ones.
But what would be a compelling reason to keep it in the PostgreSQL source tree?
With PostgreSQL's extensibility features, it should be possible to write your
job scheduler as an extension and maintain it outside the PostgreSQL source.
I am sure that the PostgreSQL community will be happy to use the extension
if it is any good.
I agree. This is an area in which there are lots of options at the moment, with
compelling reasons to choose from various of them depending on your needs.
It's this kind of choice that means it's unlikely we'd include any one option
in PostgreSQL, much like various other tools such as failover managers or
poolers.
--
Dave PagepgAdmin: https://www.pgadmin.org
PostgreSQL: https://www.postgresql.org
EDB: https://www.enterprisedb.com