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.
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.
I don't know where to find it on their website, but the docs RPM that they provide bundles the PDF.
However, few people actually use Pro*C nowadays. I spent almost 10 years working for Oracle, and I never once came across anybody using it. I think almost all use of it is in legacy applications which date back to the 1980s, first half of the 1990s at the latest. Obviously still enough use for Oracle to keep on supporting it, even with some occasional minor enhancements, but rather fringe all the same.
I don't think many people use ECPG either. I'm sure some people must, but I myself have never seen it. Probably most use is in porting existing applications from Oracle Pro*C, or its equivalents such as Informix E/SQL. Actually, it is interesting to observe that the section on ECPG's Informix compatibility mode is a lot longer than the Oracle equivalent. I don't know if that's because less compatibility is required (maybe Pro*C is closer to ECPG already), or if that's because Informix compatibility has received more investment.
https://www.enterprisedb.com/products/edb-enterprise
The difference here is that the EnterpriseDB product is not open source.
https://www.enterprisedb.com/resources/ibmr-puts-oracle-swor...
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.
Oddly, I'd take their compatibility claims more seriously if they were more clearly up-front about the limits.
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.
It would seem exceedingly foolhardy to put all your eggs into, what is essentially a compatibility shim layer/plugin, that may or may not actually be compatible with Oracle or all of Oracle.
The company behind it also is an unknown (to me at least) - HiGo[1].
So, IvorySQL is FOSS and free (as in beer) - but what happens if some feature doesn't actually work like advertised? Or something isn't implemented yet? Now you're paying HiGo for support instead of Oracle - although I'd trust Oracle's product a lot more personally.
> I'd ask why you are paying for any commercial DB in that case.
People pay for commercial DB's for a lot of reasons - including having someone to call at 3am when things go bad. Look at how prevalent SQL Server is - most of the deployments I've seen are because the company simply decided they will use SQL Server for everything (ie, not a technical reason).
None of those steps is particularly risky. If any of the steps that may fail brings an insurmountable obstacle, you ditch the project and go back to where you started.
> People pay for commercial DB's for a lot of reasons - including having someone to call at 3am when things go bad.
Oh, the old support excuse for proprietary software. The Oracle support is excellent, but good hope getting anybody to help you at 3am. Good luck getting anybody to actually help you in less than 24 hours anyway. None of the big proprietary software distributors offer anything like this. Oracle is way ahead of the competition on that they will even actually help... kind like you get when you hire a local company to support Postgres for you.
Big Microsoft shops, like state governments routinely have Microsoft staff fly out and work closely to bring new services online, etc. You cannot expect that level of service if you're just paying for a single database instance, of course.
IBM's support is also legendary - you will get a person on the phone at 3am, and even have a service technician onsite in the morning if needed. Personal experience with this one - they'll fly someone in from out of state to replace a hard drive if it means meeting their service levels.
And that person will do nothing else but waste your time.
What is the natural result of any interaction with Microsoft support too. Not limited to 3am calls.
Anyway, I wonder how RedHat has adapted to the IBM culture. I haven't dealt with software support for a while now, what I'm very grateful for.
It's a big win even if it just substantially reduces the transition cost, though being completely drop-in would be even better.
If you could "just switch" then you probably shouldn't be using RDBMS at all.