Re: NAMEDATALEN increase because of non-latin languages - Mailing list pgsql-hackers

From John Naylor
Subject Re: NAMEDATALEN increase because of non-latin languages
Date
Msg-id CAFBsxsF2V8n9w0SGK56bre3Mk9fzZS=9aaA8Gfs_n+woa3Dr-Q@mail.gmail.com
Whole thread Raw
In response to Re: NAMEDATALEN increase because of non-latin languages  (Matthias van de Meent <boekewurm+postgres@gmail.com>)
Responses Re: NAMEDATALEN increase because of non-latin languages
Re: NAMEDATALEN increase because of non-latin languages
List pgsql-hackers
Hi,

I wanted to revive this thread to summarize what was discussed and get
a sense of next steps we could take.

The idea that gained the most traction is to make identifiers
variable-length in the catalogs, which has the added benefit of
reducing memory in syscaches in the common case. That presented two
challenges:

1. That would require putting the name physically closer to the end of
the column list. To make this less annoying for users, we'd need to
separate physical order from display order (at least/at first only for
system catalogs). This would require:

- changing star expansion in SELECTs (expandRTE etc)
- adjusting pg_dump, \d, etc

That much seems clear and agreed upon.

2. We'd need to change how TupleDescs are stored and accessed.

For this point, Matthias shared a prototype patch for a 'compact
attribute access descriptor' and Andres wondered if we should "give up
on the struct / ondisk layout mirroring for catalog tables, and
generate explicit transformation routines via Catalog.pm".

After this discussion dropped off, and it's not quite clear to me what
the first logical step is to make progress on the thread subject, and
what's nice to have for other reasons. Is Matthias's patch or
something like it a good next step?

-- 
John Naylor
EDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: Add index scan progress to pg_stat_progress_vacuum
Next
From: "Thibaud W."
Date:
Subject: Re: Proposal: adding a better description in psql command about large objects