I have a flask app that connects to a Postgres DB and stores the user info there. For local development purposes, I am using docker to bring up 2 containers one my app and the other of Postgres. In my models, I am defining my primary key as a column named id
Everything works fine in my local system when I use this Dockerfile
FROM postgres:12.2
So I decided to change my models to use _id instead of id, this change seems to work fine. Is this a known discrepancy?
This is a bug report mailing list - what you are describing doesn't seem like a bug - it doesn't even seem like something the PostgreSQL server is responsible for. Given what does work locally doesn't work on Heroku you should probably ask them.
However, you posted the following while claiming to have named your column "id"...
Maybe your local development copy has some unwanted data within it that causing it not to fail and when you deploy to a clean Heroku instance the discrepancy comes to light?