FAQ
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.

Thanks.

Search Discussions

  • Thomas Kellerer at Jun 8, 2009 at 9:23 pm

    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

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppgsql-general @
categoriespostgresql
postedJun 8, '09 at 9:09p
activeJun 8, '09 at 9:23p
posts2
users2
websitepostgresql.org
irc#postgresql

2 users in discussion

Postgres User: 1 post Thomas Kellerer: 1 post

People

Translate

site design / logo © 2022 Grokbase