I don't think this literally means each user of your app gets their own DB user, rather that you create different db users for different aspects of your app.
What you're describing is what RLS (row-level security) is for, where you log into a generic global "app_user" user with certain permissions that don't include things like admin tables etc, and then define the specific user that is using the session via session variables.