Обсуждение: pg_attributte, data types
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
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
On Thu, Mar 24, 2011 at 12:56 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Viktor Bojović <viktor.bojovic@gmail.com> writes:Those are array types. The normal convention is that foo[] is named
> 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
"_foo" under the surface.
regards, tom lane
thanx
--
---------------------------------------
Viktor Bojović
---------------------------------------
Wherever I go, Murphy goes with me