I understand there are workarounds, but generally the software automatically creates a postgres role during initialization. Including "CREATE ROLE postgres;" in the dumpall will cause the script to throw an error. This came to light while doing PostgreSQL upgrades. I'm finding that turning on ON_ERROR_STOP makes sense to ensure that there isn't some problem in our data or stored procedures that goes unnoticed during upgrades. The fact that a "CREATE ROLE postgres" statement is created in every dumpall means loading the script into a new server means an error is thrown and execution stops.