# PostgreSQL 9.4 - What I was hoping for

DevFeed: [PostgreSQL 9.4 - What I was hoping for](<https://devfeed.tech/articles/postgresql-9-4-what-i-was-hoping-for-41162.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2014/02/25/PostgreSQL-9.4-What-I-Wanted/>)

Author: Map

Published: 2014-02-25T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [locking](<https://devfeed.tech/topics/locking.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [json](<https://devfeed.tech/tags/json.md>), [locking](<https://devfeed.tech/tags/locking.md>), [make](<https://devfeed.tech/tags/make.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>)

## AI overview

An opinion article reviews PostgreSQL 9.4 features the author hoped would be included, focusing on upsert, improved JSON support, and easier extension packaging. It says upsert remained unresolved because of syntax, locking, and concurrency concerns, while proposed JSON and hstore improvements were still at risk.

## Source excerpt

Theres no doubt that the 9.4 release of PostgreSQL will have some great improvements. However, for all of the improvements it delivering it had the promise of being perhaps the most impactful release of Postgres yet. Several of the features that would have given it my stamp of best release in at least 5 years are now already not making it and a few others are still on the border. Here's a look at few of the things that were hoped for and not to be at least until another 18 months. Upsert Upsert, merge, whatever you want to call it, this is been a sore hole for sometime now. Essentially this is insert based on this ID or if that key already exists update other values. This was something being worked on pretty early on in this release, and throughout the process continuing to make progress. Yet as progress was made so were exteneded discussions about syntax, approach, etc. In the end two differing views on how it should be implemented have the patch still sitting there with other thoughts on an implementation but not code ready to commit. At the same time I'll acknowledge upsert as a hard problem to address. The locking and concurrency issues are non-trivial, but regardless of those having this in there mostly kills the final argument for anyone to chose MySQL. Better JSON JSON is Postgres is super flexible, powerful, and generally slow. Postgres does validation and some parsing of JSON, but without something like PLV8, or functional indexes you may not get great performance. This is because under the covers the JSON is represented as text and as a result many of the more powerful indexes that could lend benefit, such as GIN or GIST, simply don't apply here. As a related effort to this hstore, the key/value store, is working on being updated. This new support will add types and nesting making it much more usable overall. However the syntax and matching of how JSON functions isn't guranteed to be part of it. The proposal and actually work is still there and not rejecte