> > > 1. Does everyone agrees that renaming the existing datatype without > > changing the OID? > > > > > > As I said before, Npgsql for one loads data types by name, not by OID. > > So this would definitely cause breakage. > > Why would that cause breakage?
Well, the first thing Npgsql does when it connects to a new database, is to query pg_type. The type names are used to associate entries with type handlers, avoiding the hard-coding of OIDs in code. So if the type name "macaddr" suddenly has a new meaning and its wire representation is different breakage will occur. It is possible to release new versions of Npgsql which will look at the PostgreSQL version and say "we know that in PostgreSQL < 10 macaddr means this, but in >= 10 it means that". But that doesn't seem like a good solution, plus old versions of Npgsql from before this change won't work.