I want compatability in a whole different direction. Let's get really crazy and rip the db out from under vendor solutions. Let their app with its compiled in Oracle driver communicate with a Pg server. We'll completely void any support contract we have, but at least we'll be Oracle free!
Can you imagine just swapping in Postgres under a Peoplesoft deployment? As long as you don't make me actually attempt it, it makes me chuckle.
It’s also likely in violation of arcane copyright law. The oracle wire protocol includes a handshake procedure that sends a poem in one of the initial messages. It’s untested legal theory whether copying that poem in a new work (e.g. a new driver or compatability layer) would violate Oracle’s copyright on the poem.
It will be a success when it fully supports, Object Types, Packages, Autonomous transactions, PL/SQL, and BULK Collect Operations among other features.
A Korean company Tmax sells Tibero, the Oracle-compatible DBMS (proprietary). AFAIK, it's quite so much "compatible" (it even has same typos with Oracle DB), and they're not sued by Oracle.
Were they going to wipe out the SQL/PSM standard that has been approved by ISO?
"SQL/PSM is derived, seemingly directly, from Oracle's PL/SQL. Oracle developed PL/SQL and released it in 1991, basing the language on the US Department of Defense's Ada programming language."
As a fact, There are 2 ways to “win” a legal Fight, one is to get the desired judgment the other is to make fighting the case prohibitively expensive for the other party
I don't get what this is. Is this a postgres fork? An extension? The documentation says it's Version 2 but the docs are rather lacking. Having something providing an "Oracle API" on Postgres would be awesome but not sure if this works like that?
> IvorySQL has imported and enhanced the Orafce extension to add support for numerous Oracle compatibility features including built-in PACKAGES, data types, and conversion functions
Sounds and looks like a fork to me.
EnterpriseDB used to offer some Oracle compatibility built on Pg, as a fork IIRC. Don't see it on their site any more though.
Also, their docs leave me wondering about the level of Oracle compatibility they're claiming. Their page on the subject, https://www.ivorysql.org/docs/compatibillity_features/hierar... , lists a bunch of immediate sore points -- date types and functions, the CONNECT BY query syntax, etc. But there are other things Oracle supports that are not listed, and still potentially serious stumbling blocks -- "fast" (incremental) automatic refresh of materialized views, IGNORE NULLS in window functions, and so forth.
Oddly, I'd take their compatibility claims more seriously if they were more clearly up-front about the limits.
Does it need to be a fork, as opposed to just an extension?
I understand why upstream Postgres might not want to put Oracle compatibility in the core, since it would be adding a lot of crud which only a minority of people would benefit from. However, making sure the Postgres core has the extension points necessary to support extensions providing compatibility with Oracle (or DB2, MSSQL, MySQL, etc), is something they might be more willing to entertain.
EDB PostgreSQL is still very much alive and Oracle compatibility is a big success among enterprises that have chosen to migrate and need to smooth the process.
That sounds like the description of a distribution of postgresql to me.
Think of a gnu/linux distro, that gives you some pre-packaged software built with an intended goal (more or less general) and according to a certain set of opinions.
Can someone elaborate on what specifically something like this would be used for?
I would imagine if you're going through the pain of migrating off Oracle, picking something like IvorySQL is just a half-measure. Why not just make the switch to PostgreSQL (or other) and be done with worrying about compatibility? How long will this project last, and how great will the compatibility actually be - is it a drop-in replacement?
Most folks use ORM's these days too - making switching databases simple (although not always trivial).
If you're using an ORM then you're by default using the database fairly generically. I'd ask why you are paying for any commercial DB in that case.
Organizations who committed to and paid for Oracle are probably using a lot of the features that are unique to Oracle. Or they have a lot of legacy that is.
If IvorySQL can take all their custom plsql packages and ETL batch jobs and run them without changes that's a big win. It's not clear to me that it really can do that, though.
The last time I did real work with Oracle and MSSQL, I must have created something like 50 megabytes of "SQL" via stored procedures and such for them. The idea of migrating away from those databases to something with compatible syntax and such would have actually been feasible, but otherwise 100% dead on arrival.
If you could "just switch" then you probably shouldn't be using RDBMS at all.
I don't think that the programming language inside Sybase/Microsoft SQL Server, known as Transact-SQL, has been implemented in postgres, but I could be wrong.
I presume this still requires the postgres drivers to connect but then just accepts Oracle syntax once connected? That seems like a very specialized replacement case -- where I guess the app has a lot of complex reporting logic or a monster amount of stored procs that can't be changed, but the consuming app(s) can change drivers and exception handling for the PG ones
Can you imagine just swapping in Postgres under a Peoplesoft deployment? As long as you don't make me actually attempt it, it makes me chuckle.
https://dacut.blogspot.com/2008/03/oracle-poetry.html
It's undeniably a good platform for developing applications and firms get hooked on it.
"SQL/PSM is derived, seemingly directly, from Oracle's PL/SQL. Oracle developed PL/SQL and released it in 1991, basing the language on the US Department of Defense's Ada programming language."
https://en.m.wikipedia.org/wiki/SQL/PSM
They can always wipe out the Ada programming language while they're at it.
Sounds and looks like a fork to me.
EnterpriseDB used to offer some Oracle compatibility built on Pg, as a fork IIRC. Don't see it on their site any more though.
EDIT: Much thanks to replies with links to EDB.
Oddly, I'd take their compatibility claims more seriously if they were more clearly up-front about the limits.
I understand why upstream Postgres might not want to put Oracle compatibility in the core, since it would be adding a lot of crud which only a minority of people would benefit from. However, making sure the Postgres core has the extension points necessary to support extensions providing compatibility with Oracle (or DB2, MSSQL, MySQL, etc), is something they might be more willing to entertain.
https://www.enterprisedb.com/products/edb-enterprise
The difference here is that the EnterpriseDB product is not open source.
Think of a gnu/linux distro, that gives you some pre-packaged software built with an intended goal (more or less general) and according to a certain set of opinions.
I would imagine if you're going through the pain of migrating off Oracle, picking something like IvorySQL is just a half-measure. Why not just make the switch to PostgreSQL (or other) and be done with worrying about compatibility? How long will this project last, and how great will the compatibility actually be - is it a drop-in replacement?
Most folks use ORM's these days too - making switching databases simple (although not always trivial).
So why does this need to exist?
I wouldn't be too optimistic about ORM usage in the kinds of organizations that chose Oracle in the first place.
Organizations who committed to and paid for Oracle are probably using a lot of the features that are unique to Oracle. Or they have a lot of legacy that is.
If IvorySQL can take all their custom plsql packages and ETL batch jobs and run them without changes that's a big win. It's not clear to me that it really can do that, though.
If you could "just switch" then you probably shouldn't be using RDBMS at all.
it has to be in oracle or pg compatibility mode, so effectively its just an oracle api replacement, but should more or less behave like oracle
so the only primary benefit is you stop paying oracle because you just want to leave oracle?
It doesn't exactly let you move away from oracle APIs though.
It is a big win financially. So good on them, I hope it gets all the traction!
https://en.m.wikipedia.org/wiki/Tabular_Data_Stream
I use freetds in many places.
https://www.freetds.org/
I don't think that the programming language inside Sybase/Microsoft SQL Server, known as Transact-SQL, has been implemented in postgres, but I could be wrong.
https://en.m.wikipedia.org/wiki/Transact-SQL
Microsoft does not implement SQL/PSM in SQL Server. They need to do so. Immediately.