pg.ddx.io  pgsql-general@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Adrian Klaver <adrian.klaver@aklaver.com>
To: Andrus <kobruleht2@hot.ee>
To: pgsql-general@postgresql.org
Subject: Re: Duplicate key error
Date: Wed, 3 Mar 2021 12:19:37 -0800
Message-ID: <d669cc09-aa93-cdf3-5030-37318d2a9001@aklaver.com> (raw)
In-Reply-To: <abc069b9-5e92-b461-f215-68ad67a533b6@hot.ee>
References: <a8656d4f-d692-ffae-077e-304f348e25bf@hot.ee>
	<5b68b4b3-b957-5009-cf3e-4bbc9dcbd0d9@aklaver.com>
	<97577cda-b3fa-4edb-1c8a-2b39afad65c6@hot.ee>
	<c22a9fa0-9f3a-8b68-c1d4-a430cf7286bc@aklaver.com>
	<abc069b9-5e92-b461-f215-68ad67a533b6@hot.ee>

On 3/3/21 11:59 AM, Andrus wrote:
> Hi!
>>
>> And if that name already exists there would be a duplicate key error.
> 
> Name cannot exist:  First delete deletes its value. Tables are not 
> changed by external process during transaction. As double insurance, 
> insert perfoms additional existence check and adds only if key does not 
> exist.

The error message:

"
duplicate key value violates unique constraint "session_pkey"
Key (workplace)=(WIN-N9BSKUNKBC8 ) already exists.
"

says something else is inserting/updating using that key value. So 
obviously your script is not catching all the conflicts. At this point 
your best bet is to monitor the Postgres log and see what else is 
happening at the time of the error. I'm guessing you will find another 
process working on that table.

> 
>  >Last inserted row data should remain.
>>
>> I'm not understanding the above.
> 
> This table should contain last login time, user and ip address. It 
> should be updated by every process on login. For this old entry is 
> removed if it exists and new entry with same primary key is added.
> 
> Andrus.
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com





view thread (22+ messages)  latest in thread

Message-ID: <d669cc09-aa93-cdf3-5030-37318d2a9001@aklaver.com>
Permalink:  ../d669cc09-aa93-cdf3-5030-37318d2a9001@aklaver.com/
Also on:    postgresql.org/message-id/d669cc09-aa93-cdf3-5030-37318d2a9001@aklaver.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-general@postgresql.org
  Cc: adrian.klaver@aklaver.com, kobruleht2@hot.ee
  Subject: Re: Duplicate key error
  In-Reply-To: <d669cc09-aa93-cdf3-5030-37318d2a9001@aklaver.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox