14 comments

[ 3.3 ms ] story [ 40.5 ms ] thread
As it is a full compatibility to Oracle's DBMS_JOB, it must help a lot while migrating from Oracle to PostgreSQL.
Neat. Every Oracle shop from 2001 onward has tons of these jobs. Some of the funkiest apps were ones that used it as a deferred task queue as, IIRC, submitting a job was done transactionally with the rest of your unit of work.

If you think DBMS_JOB is great, then you’ll love UTL_TCP! What better way to build an unsupportable nightmare than arbitrary TCP sockets directly from PL/SQL stored procedures: https://docs.oracle.com/cd/E18283_01/appdev.112/e16760/u_tcp...

Oh my god
It really makes you wonder what happened in the last 40 (?) years that we went from

Customer: "Do you sell software that does <random shit>?"

Software company: "Yeah sure, it's part of <giant software suite>! You only need to upgrade to the newest version for $50k!"

to

Customer: "Do you sell software that does <random shit>?"

Software company: "Yeah sure, it's our new completely separate product! It's only $50k!"

Ya, especially when there exists PostgreSQL like Open Source databases that includes Native Partitioning, Replication, Full Backups plus Point in time recovery, Read Replicas, too many data types including boolean, uuid like types that are not possible with Oracle.
Have seen a ton of Oracle databases with DBMS_JOB. Great thought and contribution by MigOps.
Yes, good that Oracle added backward compatibility to DBMS_JOB thought there is DBMS_SCHEDULER in recent versions.
I have seen a lot of Customers still stuck on the Oracle versions where DBMS_JOB is heavily used.
Is this the sort of thing that will see Oracle sending a cease and desist for them feeling infringed on their copyright and IP? They must not like their vendor lock in being affected and people discovering this better, more affordable alternative.
In that case, there even exist Orafce, a project that provides a lot of compatibility to a lot of Oracle Packages. For example, a lot of date functions, UTL_FILE, DBMS_OUTPUT and a lot more are already [art of this :)

https://github.com/orafce/orafce

This is a brilliant mission. Postgres is commoditising the database in an amazing way.
It is the extensibility of PostgreSQL that makes this possible.
I'm curious if EnterpriseDB already implements this.

The closed-source PL/SQL emulator that they sell on top of PostgreSQL (and license into IBM DB2) is something that has drawn occasional interest over the years.

Yes, EnterpriseDB implemented it as part of their Commercial Postgres derived database : PPAS. It is not Open Source, whereas, PG_DBMS_JOB is Open Source and released under PostgreSQL license, which is the most liberal license :)