Andres Freund <andres@anarazel.de> writes:
> On 2015-05-18 19:23:59 -0400, Tom Lane wrote:
>> Is it okay to change pg_replication_origin.roname to type "name",
>> and if not what do you want to do instead?
> It was turned into text after it initially was name, because of length
> concerns.
> Hm, just forcing a collation and restricting the input to ascii should
> work, right?
I think that's fragile as can be. Is there a *really really* good
argument why these things shouldn't be subject to identifier length
restrictions?
>> While I'm looking at it, why in the world have roident and not just a
>> standard system OID column? This catalog seems willfully ignorant of
>> Postgres conventions.
> There's a comment:
> * Needs to fit into an uint16, so we don't waste too much space in WAL
> * records. For this reason we don't use a normal Oid column here, since
> * we need to handle allocation of new values manually.
If it needs to fit into uint16, why not make it smallint? The declaration
seems 100% misleading if it's not an OID. Moreover, the catalog
infrastructure is failing to help you make sure the values are unique.
regards, tom lane