Re: pg_dump restores as expected on some machines and reports duplicate keys on others

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Shaheed Haque <shaheedhaque(at)gmail(dot)com>, pgsql-general list <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: pg_dump restores as expected on some machines and reports duplicate keys on others
Date: 2024-06-22 21:59:21
Message-ID: 2fa6e6cb-a220-4de0-b08f-6ac4cca667af@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 6/22/24 10:01, Shaheed Haque wrote:
> Hi,
>
> I am using Postgres 14 on AWS RDS and am seeing the output of pg_dump be
> restored as expected by pg_restore on some database instances, and fail
> with reports of duplicate keys on other database instances:
>
> * My deployments are always a pair, one "logic VM" for Django etc and
> one "RDS instance". The psql client runs on the logic VM. The
> Postgres version is the same in all cases; psql reports:
>
> o psql (14.12 (Ubuntu 14.12-0ubuntu0.22.04.1), server 14.9)
>
> * The pg_restore is done using the same script in both cases.
> * In the failing cases, there are always the same 26 errors (listed in
> detail below), but in summary, 3 distinct "child" tables complain of
> a duplicate id=1, id=2 and id=3 respectively.
> * These "child" tables are FK-related via some intermediate table to a
> top level table. They form a polymorphic set. There are other
> similar child tables which do not appear to be affected:
> o polymorphicmodel
> + companybankdetail
> # companybankdetailde
> # companybankdetailgb  <<< 1 duplicate, id=2
> # companybankdetailus
> + companypostaldetail
> # companypostaldetailde
> # companypostaldetailgb  <<< 1 duplicate, id=1
> # companypostaldetailus
> + companytaxdetail
> # companytaxdetailde
> # companytaxdetailgb  <<< 1 duplicate, id=3
> # companytaxdetailus
> + ...
> + several other hierarchies, all error free
> + ...
> * I've looked at the dumped NNNN.dat files but they contain no duplicates.
> * The one difference I can think of between deployment pairs which
> work ok, and those which fail is that the logic VM (i.e. where the
> psql client script runs) is the use of a standard AWS ubuntu image
> for the OK case, versus a custom AWS image for the failing case.
> o The custom image is a saved snapshot of one created using the
> standard image.
>
> Why should the use of one type of VM image versus another cause
> pg_restore to hallucinate the duplicate records?
>

1) Show the complete pg_restore script.

2) The first issue is related to trying to create a database that
already exists. Does that database have data in it?

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Martin Goodson 2024-06-22 23:28:21 Password complexity/history - credcheck?
Previous Message Ron Johnson 2024-06-22 21:41:51 Re: pg_dump restores as expected on some machines and reports duplicate keys on others