Postgres User wrote on 08.06.2009 23:03:
> Hi,
>
> I'm writing a small ORM tool and have written a number of queries to
> retrieve table metadata. One piece of data that I'm having trouble
> hunting down is the size of a CHAR field. For example, one table has
> a 'user_id' column of type CHAR(36). But when I look at the
> pg_attribute and pg_type tables, I can't seem to find this size value
> of 36.
>
> Can anyone share the SQL that returns the size of a CHAR? It is NOT
> the 'typlen' column. The answer may be the 'typelem' column, but I
> can't find details on how to decode it.
>
Use the information_schema, that is easier:
SELECT character_maximum_length
FROM information_schema.columns
WHERE table_name = 'your_table'
AND column_name = 'the_char_column';
http://www.postgresql.org/docs/8.3/static/infoschema-columns.html
Thomas