Обсуждение: pg_attributte, data types

Поиск
Список
Период
Сортировка

pg_attributte, data types

От
Viktor Bojović
Дата:
while listing data types i have noticed that some types have underscore prefix but i don't know why is that. so im asking if somene can tell me.
These are type examples:

_char
_float4
_int2
_oid
_regtype
_text
_varchar


select distinct typname
from
(
SELECT attname AS name,
attnum ,
typname,
atttypmod - 4 as length,
attnotnull AS notnull,
atthasdef AS def,
c.oid AS tbloid,
d.adsrc AS defval,
ds.description,
attndims AS dimnum,
attstattarget,
attislocal,
attinhcount

FROM pg_attribute a
INNER JOIN pg_class c ON a.attrelid = c.oid
INNER JOIN pg_type t ON a.atttypid = t.oid
LEFT OUTER JOIN pg_attrdef d ON d.adrelid = c.oid AND d.adnum = a.attnum
LEFT OUTER JOIN pg_description ds ON ds.objoid = c.oid AND ds.objsubid =
a.attnum
INNER JOIN pg_namespace n ON t.typnamespace = n.oid
WHERE attnum > 0 AND
attisdropped <> 't'
ORDER BY a.attnum
) as foo


--
---------------------------------------
Viktor Bojović
---------------------------------------
Wherever I go, Murphy goes with me

Re: pg_attributte, data types

От
Tom Lane
Дата:
Viktor Bojović <viktor.bojovic@gmail.com> writes:
> while listing data types i have noticed that some types have underscore
> prefix but i don't know why is that. so im asking if somene can tell me.
> These are type examples:

> _char
> _float4
> _int2
> _oid
> _regtype
> _text
> _varchar

Those are array types.  The normal convention is that foo[] is named
"_foo" under the surface.
        regards, tom lane


Re: pg_attributte, data types

От
Viktor Bojović
Дата:


On Thu, Mar 24, 2011 at 12:56 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Viktor Bojović <viktor.bojovic@gmail.com> writes:
> while listing data types i have noticed that some types have underscore
> prefix but i don't know why is that. so im asking if somene can tell me.
> These are type examples:

> _char
> _float4
> _int2
> _oid
> _regtype
> _text
> _varchar

Those are array types.  The normal convention is that foo[] is named
"_foo" under the surface.

                       regards, tom lane

thanx

--
---------------------------------------
Viktor Bojović
---------------------------------------
Wherever I go, Murphy goes with me