Revisited: Transactions, insert unique. - Mailing list pgsql-general

From Lincoln Yeoh
Subject Revisited: Transactions, insert unique.
Date
Msg-id 3.0.5.32.20000424140217.008f7140@pop.mecomb.po.my
Whole thread Raw
In response to automatic crash recovery  (Alfred Perlstein <bright@wintelcom.net>)
List pgsql-general
Hi,

Previously I wanted to ensure that I am inserting something unique into a
table, the answer was to create a unique index on the relevant columns.

But what if I don't want to get an error which would force a rollback? Say
I want to insert something if it doesn't already exist, but update it if it
does.

Do I have to lock the whole table?

Would it be a good idea to be able to request a lock on an arbitrary string
like in MySQL? Then I could perhaps do something like

LOCK HANDLE('max255charstring',TimeoutInSeconds)
e.g.
LOCK HANDLE('mytable,field1=x,field2=y',10)

Then I could control access to a row that may not even exist, or do other
snazzy transaction stuff.

Cheerio,
Link.


pgsql-general by date:

Previous
From: Lincoln Yeoh
Date:
Subject: Re: Connecting website with SQL-database.....
Next
From: "Andrew Snow"
Date:
Subject: RE: unique row identifier data type exhausted . . .