If one would create a Custom::PostgreSQLUser resource with Name property value that includes a dash character ('-') then the resource creation fails.
I think this is because the generated SQL does not use a delimited identifier or quoted identifier for user, role and database names.
E.g.
This will fail:
CREATE DATABASE database-name
Adding double quotes fixes this:
CREATE DATABASE "database-name"