The error occurs, due to updating the partition key column.
We recently migrated from oracle to postgres.
According to my research, columns that are updated frequently are not best candidtae for partition key.
Absolutely. How is it even wise in Oracle?
With isolation method read committed, if there are concurrent updates on the same row in different sessions for example( may be updated on different columns out of which one update is on partition key), updates on the partition key, may cause the row placed to New partition.
Now, because of MVCC the second update may be looking for row to update in the old partition itself and that's when we get error.
No, updating the partition key (say colum created_at)....when u update the date , say change march to April, this record is in new partition and we get this error
On Thu, 2026-05-21 at 16:45 +0530, Raj wrote: > Update happing on partition key. > > And we get error 'Tuple to be locked was already moved to another partition due to concurrent update error.. > > What's the best solution to handle it?
Could you give us more context, like the exact statement and a description of the data it is operating on?
If I had to guess, I would suspect that your UPDATE statement tries to modify the same row more than once.