Re: Order of update

2025-04-23 Thread Peter J. Holzer
On 2025-04-21 18:12:13 +0200, Thiemo Kellner wrote: > I wonder if that is a corner case. Updating a unique key sounds to me like a > design flaw in the first place. I agree that changing a surrogate key is almost always a mistake. But there might be situations where a column should be unique but

Re: Order of update

2025-04-21 Thread Thiemo Kellner
Thanks for the pointer. I feel my doubts reflected. For such reasons, I prefer the UUID as surrogate key. No point in trying to establish an order or even id arithmetics. 21.04.2025 18:44:27 Adrian Klaver : > On 4/21/25 09:12, Thiemo Kellner wrote: >> I wonder if that is a corner case. Updating

Re: Order of update

2025-04-21 Thread Adrian Klaver
On 4/21/25 09:12, Thiemo Kellner wrote: I wonder if that is a corner case. Updating a unique key sounds to me like a design flaw in the first place. Check out this the thread below for discussion on that topic: https://www.postgresql.org/message-id/dkbnfi$7g5$1...@sea.gmane.org -- Adrian Kl

Re: Order of update

2025-04-21 Thread Thiemo Kellner
I wonder if that is a corner case. Updating a unique key sounds to me like a design flaw in the first place.

Re: Order of update

2025-04-21 Thread Adrian Klaver
On 4/21/25 01:47, Peter J. Holzer wrote: If the hash was the other way around it wouldn't work. So let's try if we can get the optimizer to flip the plan by changing the number of updated rows. [a few minutes later] #v+ hjp=> explain with a as (select id from id_update where id > 9 order

Re: Order of update

2025-04-21 Thread Peter J. Holzer
On 2025-04-20 08:28:22 -0700, Adrian Klaver wrote: > On 4/20/25 02:10, Peter J. Holzer wrote: > > I've just read Laurenz' blog post about the differences between Oracle > > and PostgreSQL[1]. > > > > One of the differences is that something like > > > > UPDATE tab SET id = id + 1; > > > > t

Re: Order of update

2025-04-20 Thread Adrian Klaver
On 4/20/25 02:10, Peter J. Holzer wrote: I've just read Laurenz' blog post about the differences between Oracle and PostgreSQL[1]. One of the differences is that something like UPDATE tab SET id = id + 1; tends to fail on PostgreSQL because the the primary key constraint is checked for ev

Re: Order of update

2025-04-20 Thread Thiemo Kellner
Might that be a feature of or a flaw in the application design? I opt for the latter. Any application that needs updates, be it only in emergency cases, should take that into account.

Re: Order of update

2025-04-20 Thread Ron Johnson
On Sun, Apr 20, 2025 at 5:35 AM Thiemo Kellner wrote: > Very interesting. But is the sort overhead worth it? Why not make the > constraint deferrable before the update and switch back afterwards? > The role which runs the UPDATE might not have the priv to ALTER TABLE ... ALTER CONSTRAINT. -- D

Re: Order of update

2025-04-20 Thread Thiemo Kellner
Hm, deadlocks preventing order by. Never had that problem. Then again, I mostly have Oracle experience and no need for complicated updates. If I had, I'd rather think of chunking updates and orchestrate those before ordering within updates.

Re: Order of update

2025-04-20 Thread Peter J. Holzer
On 2025-04-20 11:34:56 +0200, Thiemo Kellner wrote: > Very interesting. But is the sort overhead worth it? Why not make the > constraint deferrable before the update and switch back afterwards? Mostly idle curiosity whether that's possible at all. But there might be other reasons why you want to

Order of update

2025-04-20 Thread Thiemo Kellner
Very interesting. But is the sort overhead worth it? Why not make the constraint deferrable before the update and switch back afterwards?

Order of update

2025-04-20 Thread Peter J. Holzer
I've just read Laurenz' blog post about the differences between Oracle and PostgreSQL[1]. One of the differences is that something like UPDATE tab SET id = id + 1; tends to fail on PostgreSQL because the the primary key constraint is checked for every row, so it will stumble over the tempora