PostgreSQL 9.5 Released
iamvego writes: Later than the typical release cadence, PostgreSQL 9.5 has finally been released, and brings with it a slew of new features including UPSERT functionality, row-level security, and some big data features (CUBE/ROLLUP, join pushdown for foreign data wrappers, TABLESAMPLE, BRIN indexing and more). The previous release had brought about some new JSON functions and operators, but they only queried the data; 9.5 comes with new operators which now allow modification of JSON values, so it no longer has to be manipulated outside of the database. PostgreSQL's wiki has a more detailed overview of the new features.
I have always liked it better than MySQL. Just wish more frameworks and CMSs supported it as the primary database. Support for PostgreSQL always seems like an afterthought.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
They are and Oracle has been. Now PostgreSQL does too.
We use it a *lot* - and it's great for what we use it for.
Now if they can only get active-active working at the same level as an Oracle RAC server? Just maybe we can all listen to the sweet, sweet sound of Larry Ellison howling in existential agony.
Quo usque tandem abutere, Nimbus, patientia nostra?
Go to Google and put in Oracle licensing. There's dozens of companies that are there just to make sure you set up Oracle correctly and pay enough so you won't be surprised during an audit that "oh you mean if I didn't turn off the default option at install time I owe $30,000 per cpu core for this feature we turned off the next day?" Because Oracle doesn't disable features you don't pay for, they just come back later and check for anything that had ever been enabled for even a single cpu cycle, and bills you the difference.
This isn't a "omg fr33 softwarez ftw!!1!" perspective, this is a "laywer up before you even TALK to an oracle salesperson" perspective.
Question:
I like postgres, but I've never used Oracle (or any proprietary DB engine, to be honest), so I was wondering: is there any advantage in using a proprietary database vs using postgres?
No. I've used both PostgreSQL and Oracle. Oracle was worse.
Oracle was harder to install support for on Linux. Oracle had no data type for a mere date, only date and time together. Oracle's command-line tool on Linux was horrible compared to PostgreSQL's psql tool.
It's probably easier to find Oracle experts and documentation because it's more common.
It's kind of a Catch-22 for PosgreSql: you can't get market-share until you get market-share.
Table-ized A.I.
I have never used Oracle, but I can say that MS SQL Server is pretty convenient to work with if you're hooking it to .NET code via LINQ and developing in Visual Studio. I wouldn't necessarily call that an "advantage," though...
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
There's that word again, existential. I still can't figure out what people mean when they use it.
Existential angst. Might be summarized as, "I don't know what to do," or described poetically as, "The unbearable lightness of being."
How it applies to Larry Ellison, you'll have to figure out yourself. Maybe an implication that his purpose for existing is gone from the world, his life's work is dead.
"First they came for the slanderers and i said nothing."
slony is the oldest replication option for postgresql but it is also one of the worst.
For a hot standby use the builtin Streaming Binary replication http://www.postgresql.org/docs/current/static/warm-standby.html
For a multi-master setup use BRD http://bdr-project.org/docs/stable/index.html
For a master slave with select queries balancing setup Pgpool-II https://wiki.postgresql.org/wiki/Pgpool-II
I'm logging around 500,000 position reports for aircraft each day, which are naturally ordered by time (I also index on the ICAO24 airframe number). A lot of the queries I do involve the timestamps, which of course are only moving in one direction during the course of the day.
How about it treating empty varchars as NULLs? Good reason to hate it. How about not offering standard data types, like int, long, boolean? Or how about the fact that Oracle still cannot do transactional DDL?
I've used both in commercial environments. Since we abstract everything away in Java using ORM layers, you hardly notice the "Oracle" underneath, so it's workable.
However, any direct contact with Oracle DB's reveals their ugly roots -- it seems the entire product is something bolted on top of an engine build in the 80's, with all kinds of quirks that nobody expects anymore of a modern DB. Here are some the quirks I hated:
- VARCHAR empty string is treated as NULL by Oracle. No switch to turn it off anywhere.
- Oracle does not do transactional DDL -- that is if I upgrade my database by dropping some tables and moving some data around, and the process fails halfway due to some inconsistency, you're left to sort it out on your own... no rollbacks.
- No database types for 32/64 bit integers, so there's often a mismatch with the type in the database and the type in your programs. No boolean type. No date type.
- Error messages are (were?) often of the kind "duplicate key violated" -- no additional info which key, which row or columns were involved
- Their tools feel like they were build in the 80's -- and the 3rd party tools aren't much better. Both mysql and postgresql have way better tools.
- Doing INSERTs in a Table which happens to have some foreign keys can result in "too many open cursors" -- what cursor? The internal one it created itself to check the foreign key? What do I care? This results in code that has to do COMMITS every 50 rows (or whatever you have configured the db with).
- Schemas, users, databases... it seems to be all the same in Oracle.
- Many settings in Oracle are global for all databases, but many of those settings would be much more useful if they could be set per database
Oracle however seems to have little interest in fixing these things and getting some good will from people that actually have to work with their systems. They only care about selling the big features, never mind that almost nobody needs them.
Try PostgreSQL -- by the time you feel it no longer fits your needs, consult and expert to look at how you do your queries and indices (the #1 cause of bad performance). If it still doesn't fit your needs after that, you might have a reason to try Oracle.
I noticed one feature that will be extremely useful for managing queues is the SKIP LOCKED feature. I'm very pleased this made it into the release. I'll be testing performance on this.