Live data from Hacker News

Oracle vs. PostgreSQL: First Glance

rolkotech.blogspot.com

71–80 of 201 posts

Re: Oracle vs. PostgreSQL: First Glance

#71

Why are the table and field names in the examples between Oracle and PostgreSQL different? It makes it harder to compare the two.

IIRC, Oracle licensing forbids publishing direct comparisons with competing products. I guess they had to find a workaround.

In my headcanon Dilbert works at Oracle.

Re: Oracle vs. PostgreSQL: First Glance

#72
> IF EXISTS for DDL operations

It's a super convenient operation but it has one big drawback which might be unexpected: `if exists` first acquires the relevant lock then checks.

This means a "ALTER TABLE table_name DROP COLUMN IF EXISTS column_name" will first acquire an ACCESS EXCLUSIVE lock, then check if the column exist.

Since DDL is transactional the lock will not be released until the transaction is committed or rollbacked, therefore even if the column doesn't exist it will prevent all concurrent operations on the table.

Re: Oracle vs. PostgreSQL: First Glance

#73
Whenever I see comment making comparison between Oracle and Postgre, I cant help bug wonder why isn't it compared to Enterprise DB, which is sort of like the unofficially official Postgre for Enterprise products.

Re: Oracle vs. PostgreSQL: First Glance

#75
post #48

Earlier quoted context omitted.

> Biggest difference for me is DDLs are transactional in Postgres, but not on Oracle. The answer I received more than once from Oracle evangelists regarding transactional DDL: it's useless and if you need it, you are not testing your scripts properly

> Oracle evangelists There is such a thing? > it's useless and if you need it, you are not testing your scripts properly Is that also their response for static typing and constraints on database :) ?

>> Oracle evangelists

> There is such a thing?

Tech evangelist is a common job title.

Re: Oracle vs. PostgreSQL: First Glance

#76

Earlier quoted context omitted.

For one, it does things that the competition is not capable of or just inferior -- and despite the bias on this site, the major consumers of RDBMSes are not price sensitive scrappy startups. There is no comparison between the HA offerings in Oracle and something like Postgres, which are comparatively toys. Replication doesn't equate to HA and the "nobody got fired for buying xxx.." actually has some justification. Wh…

I would argue that using postgres today sets you up better for HA tomorrow, as both yugabyte and cockroachdb are built with postgresql compatability in mind. I would also argue your reputation as a competent CTO / Architect / whatever is more at risk by choosing Oracle in 2020.

> I would argue that using postgres today sets you up better for HA tomorrow

The point is, if I have the money I can get enterprise grade HA today. Yugabyte and cockroach are promising but they’re small unproven organizations and as history has shown they’re likely to get bought out and then who knows.

Larry Ellison is an asshole, Oracle the company itself makes me want to vomit but they are a pretty known quantity.

> CTO / Architect / whatever is more at risk by choosing Oracle in 2020.

This trope started reaching fever pitch during the first wave of OSS commercialization hype/fervor in 98. It wasn’t true then and I see no evidence it is any more true today.

Re: Oracle vs. PostgreSQL: First Glance

#77
post #48

Earlier quoted context omitted.

> Oracle evangelists There is such a thing? > it's useless and if you need it, you are not testing your scripts properly Is that also their response for static typing and constraints on database :) ?

>> Oracle evangelists > There is such a thing? Tech evangelist is a common job title.

I thought X evangelism is when you aren't paid, like with open source. If you are paid you're just a salesman.

Re: Oracle vs. PostgreSQL: First Glance

#78
post #62

Earlier quoted context omitted.

> - A much better experience in Java and .NET drivers, including SQL custom data types. I didn't have any better experience with Oracle drivers in Java. Most of the driver is a soup of hacks exploiting obscure features of both the VM and standard library (both the vm and jdk are "Oracle owned" so I guess I was expecting that), also the source code is not available, so debugging it's a hellish experience. On the other…

I beg to differ, those drivers exist since Java was owned by Sun. Also Oracle was the first RDMS to support stored procedures in Java. So source isn't available yet you are able to judge the code quality, interesting. No, disassembling bytecode isn't a reflection of the quality of the original source code.

Sure it works, and is well tested and mature, and so are most of the jdbc drivers, never had any problem with any jdbc driver, aside of digging to code to understand some not documented behaviours. I don't see why put the Java driver as a benefit point of Oracle, most of the developers problems and issues don't occur at the JDBC level. It might be true for .NET but I'm really supicious if the Oracle support is that better over others

I didn't say code quality, I said usage of obscure and internal hacks from the JVM and JDK

Re: Oracle vs. PostgreSQL: First Glance

#79

Earlier quoted context omitted.

IIRC, Oracle licensing forbids publishing direct comparisons with competing products. I guess they had to find a workaround.

This kind of model speaks to who actually buys it, I would never pay for a product with such limitations out of principle.

Microsoft SQL Server has the same clause in their license, unfortunately.

https://www.brentozar.com/archive/2018/05/the-dewitt-clause-...

So, you wouldn't be considering any commercial SQL offering, basically.

Re: Oracle vs. PostgreSQL: First Glance

#80
post #22

I'm a happy Postgres user and recently did some work with a government agency using Oracle - the thing that shocked me most about Oracle was the lack of transactional DDL operations which was something I'd just taken for granted in the Postgres world.

Coming from MySQL to Postgres a few years back the transactional DDL statements were a joy to work with - I've had to claw a legacy into the modern era and utilizing them has allowed me to execute live migrations from legacy into shims and then from shims into modern.

I also really appreciate the transactional TRUNCATE - I pretty much never use it but at least in Postgres I never have to worry about someone else trying to run one and wiping state unexpectedly.

Post reply on HN