- 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.
- 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?
To tie the other comments to your description: you took/have a snapshot of the base image after you created the database and added some records to it. Nothing wrong here - you just need to decide how you want to deal with the situation.
David J.