Skip to content

=$
|

  • Why upgrade PG?
  • explain.D.C
  • paste.D.C
  • Waiting for …
    • … PostgreSQL 16
    • … PostgreSQL 15
    • … PostgreSQL 14
    • … PostgreSQL 13
    • … PostgreSQL 12
    • … PostgreSQL 11
    • … PostgreSQL 10
    • … PostgreSQL 9.6
    • … PostgreSQL 9.5
    • … PostgreSQL 9.4
    • … PostgreSQL 9.3
    • … PostgreSQL 9.2
    • … PostgreSQL 9.1
    • … PostgreSQL 9.0
    • … PostgreSQL 8.5
    • … PostgreSQL 8.4
  • Projects
  • Contact

Tag: race condition

Why is UPSERT so complicated?

If you worked with certain other (than PostgreSQL) open source database, you might wonder why PostgreSQL doesn't have MERGE, and why UPSERT example in documentation is so complicated.

Well, let's try to answer the question, and look into some alternatives.

Continue reading Why is UPSERT so complicated?

Posted on 2012-06-10|Tags exception, insert, lock, merge, postgresql, race condition, update, upsert|34 Comments on Why is UPSERT so complicated?

Search

Follow me

  • Comments RSS
  • Posts RSS

Popular Posts

  • Waiting for PostgreSQL 15 – JSON_TABLE 1k views | 0 comments
  • System roles – what, why, how? 302 views | 0 comments
  • Explaining the unexplainable – part 3 277 views | 0 comments
  • CHAR(x) vs. VARCHAR(x) vs. VARCHAR vs. TEXT – UPDATED 2010-03-03 211 views | 0 comments
  • Explaining the unexplainable – part 2 193 views | 0 comments
  • Waiting for PostgreSQL 11 – Fast ALTER TABLE ADD COLUMN with a non-NULL default 155 views | 0 comments
  • “ERROR: operator does not exist: integer = text” how to fix it? 149 views | 0 comments
  • how to insert data to database – as fast as possible 109 views | 0 comments
  • explain.depesz.com. 105 views | 0 comments
  • How to run short ALTER TABLE without long locking concurrent queries 101 views | 0 comments

PostgreSQL

  • Documentation
  • Explain Analyze analyzer
  • IRC help channel
  • Mailing Lists search
  • PG Planet
  • PostgreSQL Home Page

About me

  • CPAN
  • GitLab
  • Linked In
  • Why upgrade PG?
  • explain.D.C
  • paste.D.C
  • Waiting for …
    • … PostgreSQL 16
    • … PostgreSQL 15
    • … PostgreSQL 14
    • … PostgreSQL 13
    • … PostgreSQL 12
    • … PostgreSQL 11
    • … PostgreSQL 10
    • … PostgreSQL 9.6
    • … PostgreSQL 9.5
    • … PostgreSQL 9.4
    • … PostgreSQL 9.3
    • … PostgreSQL 9.2
    • … PostgreSQL 9.1
    • … PostgreSQL 9.0
    • … PostgreSQL 8.5
    • … PostgreSQL 8.4
  • Projects
  • Contact