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.

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to