From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Type of bare text strings |
Date: | 2006-06-08 16:12:09 |
Message-ID: | 20060608161208.GB17421@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Jim C. Nasby wrote:
> What type are bare strings considered if they haven't been cast? I'm curious as
> to how the first case is of size 5, and how the last case is 301...
>
> decibel=# select pg_column_size('test');
> 5
"unknown". This seems to be a cstring (i.e. length 5 considering the
trailing \0)
> decibel=# select pg_column_size('test'::varchar);
> 8
> decibel=# select pg_column_size('test'::text);
> 8
> decibel=# select pg_column_size('test'::char(4));
> 8
4 fixed varlena + 4 string length
> decibel=# select pg_column_size('test'::name);
> 64
name is fixed 64 bytes (not varlena)
> decibel=# select pg_column_size('123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890');
> 301
Same as the first case. (There are actual 300 chars here according to
my count, is that right?)
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Joshua D. Drake | 2006-06-08 16:13:33 | Re: How to avoid transaction ID wrap |
Previous Message | Tom Lane | 2006-06-08 16:09:10 | Re: How to avoid transaction ID wrap |