Thread: about data type id

about data type id

From
"Jinqiang Han"
Date:
hello,
Is there a function that I can get type id from type name, such as from 'text' to 25, 'int' to 23. 
thanks in advance.
Jinqiang Han






Re: about data type id

From
"Christopher Kings-Lynne"
Date:
Hi Jinqiang,

Try:  SELECT oid FROM pg_type WHERE typname='text';

You can always make that into a function.

Chris

> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org 
> [mailto:pgsql-hackers-owner@postgresql.org]On Behalf Of Jinqiang Han
> Sent: Tuesday, 24 December 2002 10:00 AM
> To: pgsql-hackers@postgresql.org
> Subject: [HACKERS] about data type id 
> 
> 
> hello,
> Is there a function that I can get type id from type name, such 
> as from 'text' to 25, 'int' to 23. 
> thanks in advance.
> Jinqiang Han
> 
> 
> 
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
> http://archives.postgresql.org
> 



Re: about data type id

From
Tom Lane
Date:
"Christopher Kings-Lynne" <chriskl@familyhealth.com.au> writes:
> Try:  SELECT oid FROM pg_type WHERE typname='text';

Another possibility (as of 7.3) is

regression=# select 'int4'::regtype::oid;oid
----- 23
(1 row)

The regtype converter has the advantage that it will recognize any
typename construct understood by the parser, for example

regression=# select 'character varying'::regtype::oid;oid
------1043
(1 row)

Also, regtype will do the right thing in the presence of schema-related
ambiguities (eg, 'a.foo' and 'b.foo' may both exist in the catalog,
but if only b is in your search path, 'foo' should mean 'b.foo').
        regards, tom lane