From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
---|---|
To: | Dmitry Markman <dmarkman(at)mac(dot)com> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: question about access custom enum type from C |
Date: | 2022-09-01 04:49:33 |
Message-ID: | CAApHDvowBG3OYutgpZ_hZ+jspMa4jqYPDZ8ZTpvr1evisDv9TA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
(I think this is a better question for the general mailing list)
On Thu, 1 Sept 2022 at 16:28, Dmitry Markman <dmarkman(at)mac(dot)com> wrote:
>
> Hi, when I’m trying to access values of my custom enum type I created with
>
> create type colors as enum ('red', 'green', 'brown', 'yellow', 'blue');
>
> I’m getting oid as 16387 and I can see it stored as a chars
You might see the names if you query the table, but all that's stored
in the table is the numerical value.
https://www.postgresql.org/docs/current/datatype-enum.html states "An
enum value occupies four bytes on disk.".
> is number 16387 is always OID for enum type?
I'm not sure where you got that number from. Perhaps it's the oid for
the pg_type record? The following would show it.
select oid,typname from pg_type where typname = 'colors';
> if not how I can get information about type of the result if it’s custom enum type
I'm not sure what you mean by "the result". Maybe pg_typeof(column)
might be what you want? You can do: SELECT pg_typeof(myenumcol) FROM
mytable;
David
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry Markman | 2022-09-01 05:03:10 | Re: question about access custom enum type from C |
Previous Message | Justin Pryzby | 2022-09-01 04:47:53 | Re: pg15b3: recovery fails with wal prefetch enabled |