Hacker News new | ask | show | jobs
by sixbrx 997 days ago
Good article, but I wouldn't characterize MERGE as strictly better than the older "ON CONFLICT ..." for Postgres, because MERGE doesn't support any sort of RETURNING clause.
3 comments

INSERT ... ON CONFLICT has a problem with CHECK constraints. The constraint must be satisfied in the INSERT tuple even if the row already exists and UPDATE will be executed. I recently dealt with this at work and the resulting CTE query was very similar to MERGE, except MERGE has better syntax.
I found a post on the mailing list about this: https://www.postgresql.org/message-id/CANbhV-EXmw9i4YhJTgsrL...

I'm not sure how to go about making an official feature/change request though.

Yeah, we were happy to see MERGE in latest postgres but abandoned it after we found there is no RETURNING...