I understand the differences between SQLite and PostgreSQL. I like to think about this by considering what happens if people new to deployment follow the simplest directions offered by a host. If they do this on Heroku, they will modify their settings in a way that it points to Posgres for the deployed version, while they continue to use SQLite locally. So if people use, the auto_configuration approach, they end up with the same setup. If they are going to run into issues where the root cause is differences between SQLite and Postgres, they’ll still run into them at the same stage - either on the initial push, or when they’re interacting with their site.
To me, this is a question of documentation. It should be clear, whichever approach people take, what the deployed infrastructure looks like. My primary complaint with the current process is that people are being asked to take a number of default manual steps that could be automated, and that those manual steps are likely to cause unneeded difficulties for many beginners.
My thinking on this isn’t specific to Heroku. I have been corresponding with another host that uses Docker internally. They ask people to write a dockerfile, even if they’re not using docker locally. My guess is they could auto-generate that simplest case dockerfile. Then you can have people only create or modify the default dockerfile when their use case requires going beyond common defaults.