0

Is this a perpetually denied feature request or something specific to Postgres?

I've read that Postgre has potentially higher performance than InnoDB but also potentially larger chance of less serialization (I apologize that I don't have a source, and please give that statement a wide berth because of my noobity and memory) and wonder if it might have something to do with that.

Postgres is amazingly functional compared to MySQL, and that's why I've switched. Already I've cut down lines of code & unnecessary replication immensely.

This is just a small annoyance, but I'm curious if it's considered unnecessary because of the UPDATE then INSERT workaround, or if it's very difficult to develop (possibly vs the perceived added value) like boost::lockfree::queue's ability to pass "anything" (, or if it's something else).

Milen A. Radev
  • 60,241
  • 22
  • 105
  • 110
  • 1
    Here's a thread for you: http://markmail.org/message/3nrebrr3sol6vamw – bma Oct 09 '13 at 02:44
  • you and that guy are awesome, thank-you! my usage is so basic, i'm hoping (assuming?) i won't brush up against any of the current issues. unless if doing these last two of this answer qualify http://stackoverflow.com/a/19251769/1382306 just out of noobish curiosity, how can i verify the safety of this patch? –  Oct 09 '13 at 03:00
  • 1
    I certainly wouldn't use it in production, if that's what you're asking! The guys in that thread are pretty approachable, I'm sure if you sent that question to the Peter Geoghegan directly he might have some more accurate advice for you. Mind you, I do not know him personally, so I have no idea how or if he will respond. Everyone needs beta testers though, so maybe he'll be happy to have a third party test out his patches. – bma Oct 09 '13 at 03:07
  • 1
    [There is no such thing as "postgre".](http://wiki.postgresql.org/wiki/Identity_Guidelines) – Erwin Brandstetter Oct 09 '13 at 03:16
  • @ErwinBrandstetter i keep hearing that, thank-you for the link! why is "postgre" wrong? –  Oct 09 '13 at 03:19
  • @Gracchus: Because it is. It's just as wrong as "Googl" or "Microsof" or "My". – Erwin Brandstetter Oct 09 '13 at 03:21
  • This question appears to be off-topic because it is about design specifications, rather than programming. – Jonathan Hall Dec 19 '13 at 10:17

1 Answers1

2

PostgreSQL committers are working on a patch to introduce "INSERT ... ON DUPLICATE KEY", which is functionally equivalent to an "upsert". MySQL and Oracle already have functionality (in Oracle it is called "MERGE")

A link to the PostgreSQL archives where the functionality is discussed and a patch introduced: http://www.postgresql.org/message-id/CAM3SWZThwrKtvurf1aWAiH8qThGNMZAfyDcNw8QJu7pqHk5AGQ@mail.gmail.com

bma
  • 9,424
  • 2
  • 33
  • 22
  • 1
    You can track the progress of the patch [here](https://commitfest.postgresql.org/action/patch_view?id=1201). – theory Jan 27 '14 at 17:23