| From: | Giovanni Martinez <gio(at)iqtoolkit(dot)ai> |
|---|---|
| To: | Raj <rajeshkumar(dot)dba09(at)gmail(dot)com> |
| Cc: | Ron Johnson <ronljohnsonjr(at)gmail(dot)com>, Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Partitioning table - Update on partitioning key |
| Date: | 2026-05-22 14:42:40 |
| Message-ID: | CAMELd3Q2pZR9fCGpNu5F-A3G9Qp1Na8hERvci+B7fBjg9kjw3Q@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-admin |
Hi Raj,
I encountered a similar situation in the past. To resolve it, I set up an
INSTEAD OF trigger that replaces updates on the partition key column with a
DELETE followed by an INSERT statement.
You might want to try a similar approach to handle the concurrent update
errors.
Best,
Giovanni Martinez
--
[image: logo image]
[image: linkedin icon] <https://www.linkedin.com/in/gmartinez-dbai/>
*Giovanni Martinez*
IQtoolkit.ai | Principal AI Solutions Architect
gio(at)iqtoolkit(dot)ai
https://www.iqtoolkit.ai
Book a meeting <https://calendar.app.google/JoTjgsJg19xPbzS48>
On Fri, May 22, 2026 at 10:24 AM Raj <rajeshkumar(dot)dba09(at)gmail(dot)com> wrote:
> 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.
>
>
> 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.
>
> ..
>
> On Thu, 21 May 2026, 23:20 Ron Johnson, <ronljohnsonjr(at)gmail(dot)com> wrote:
>
>> We'll need to see a "reproducer" (aka short bit of code that reproduces
>> your problem), with the output pasted here.
>>
>> On Thu, May 21, 2026 at 12:12 PM Raj <rajeshkumar(dot)dba09(at)gmail(dot)com> wrote:
>>
>>> 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, 21 May 2026, 17:12 Laurenz Albe, <laurenz(dot)albe(at)cybertec(dot)at>
>>> wrote:
>>>
>>>> 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.
>>>>
>>>> Yours,
>>>> Laurenz Albe
>>>>
>>>
>>
>> --
>> Death to <Redacted>, and butter sauce.
>> Don't boil me, I'm still alive.
>> <Redacted> lobster!
>>
>
--
Building the future of AI-driven database optimization.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2026-05-22 16:52:59 | Re: Request For Feature: pg_dump |
| Previous Message | Ron Johnson | 2026-05-22 14:40:08 | Re: Partitioning table - Update on partitioning key |