I'm not sure if this is a puppetlabs-puppetdb or a puppetlabs-postgresql bug, but...
Every time I run the puppetdb class with or without a specified password, the "ALTER ROLE" query is always run. This could be because the puppetdb user doesn't have proper access to the tables to check for user existence?