refactoring: isolate sql-datatype mapping in postgres adapter

I did this refactoring out of the discussion in #7518. I think it's better to have a minimal amount of duplication between the database adapters. Every adapter should define it's own column mappings and not delegate to a global superclass, which has some knowledge of the different database vendors.

This make the mappings simpler because we just need to care about the datatypes of one vendor and it allows us to issue warnings when unsupported datatypes are detected.