It wasn't too long ago that we saw the release of PostgreSQL 9.4 Beta 1, but now there's talk of PostgreSQL 9.5 and, in particular, what sorts of changes it ought to bring. Two separate wishlists have been assembled in the last few days - one from Craig Kerstiens on his website, and another from Neil McGuigan on DatabasePatterns.com - each sporting a handful of hopes for 9.5.
Kerstiens goes into detail on a few ideas. For example, he's looking for:
- Foreign data wrappers
- Logical replication
- An official GUI
Among other things. McGuigan, on the other hand, is a little more sparse - just a quick list of 10 ideal updates. His hopes include:
- Replication with SQLite over WebSocket
- Incremental/Differential backup and restore over HTTPS
- Text Search improvements to be more like Solr
But most interesting is their primary overlap, which took the number one position: Upsert.
Merge/Upsert/Insert or Update whatever you want to call it this is still a huge wart that it doesn’t exist. There’s been a few implementations show up on mailing lists, and to the best of my understanding there’s been debate on if it’s performant enough or that some people would prefer another implementation or I don’t know what other excuse. The short is this really needs to happen, until that time you can always implement it with a CTE which can have a race condition.
And McGuigan keeps it simple:
1. Upsert, as always