| From: | Wiwwo Staff <wiwwo(at)wiwwo(dot)com> |
|---|---|
| To: | pgsql-general(at)lists(dot)postgresql(dot)org |
| Subject: | FOR UPDATE SKIP LOCKED and get locked row/avoid updating other row(s) |
| Date: | 2024-02-13 11:17:57 |
| Message-ID: | CAD1W9HUrmzSRYLeBSHf3gL7G5pSW9AA5BMdYQq-rg4xK8tHe1w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Hi!
I am implementing a queue using PostgreSQL.
I am of course using "FOR UPDATE SKIP LOCKED".
Is there any way I can tell PostgreSQL to only "operate" on the locked row,
and/or a way to reference it?
Some explanations of what I mean:
- I have a table with N rows
- I lock row X with a PG Function, in transaction 1
- I do something in my code, using transaction 2
- I update the status of row X with a PG Function, in transaction 1
In last step, I update the row X status, passing my function the ID of this
row X.
But, nothing stops me from updating row Y in the queue table, for whatever
reason.
My question again: any way to force a "Just update the row X you locked
before, and nothing else/more?"
Thanks!
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Adrian Garcia Badaracco | 2024-02-13 13:48:08 | Re: Compressing large column by moving it to a unique table |
| Previous Message | Daniel Gustafsson | 2024-02-13 08:43:52 | Re: MAT. VIEW security problems and PG 10-11 versions? |