I'm always a friend of clean and CoC-alike solutions. Hence I'd say it would be best to use the artifactId to indicate the difference between the JARs: A JDBC42 driver is definitively something different than a JDBC3 driver, so it would be wrong to use the same artifact name.
Anyways, my personal favorite is not liked by the project lead: Do not backport features into old PostgreSQL versions. That means, for each supported version of PostgreSQL there is one single branch, and that branch supports only the JDBC / JDK combination which was current at time of publication of the JDBC version. Into that branches, only backport fixes, which is simply using git. New features (and such, new JDBC / JDK combinations) on are added to that single JAR for the NEXT planned PostgreSQL version. This cuts away a lot of branches which nobody ever will need. PostgreSQL itself also does not add new technology to old versions, so why do we?
From my POV the difference is in their mandate. There are many people using various versions of Java, all the way back to 1.4 and further. The JDBC project tries to strike a balance between providing all of the latest PostgreSQL features to the larges population of Java users. We have arbitrarily decided to limit that to 1.6. PostgreSQL does not have the same mandate. They only move forward.
Clearly this makes our lives more difficult evidenced by this thread, but I believe it is in the Java communities best interest.