Re: question about access custom enum type from C

Поиск
Список
Период
Сортировка
От David Rowley
Тема Re: question about access custom enum type from C
Дата
Msg-id CAApHDvowBG3OYutgpZ_hZ+jspMa4jqYPDZ8ZTpvr1evisDv9TA@mail.gmail.com
обсуждение исходный текст
Ответ на question about access custom enum type from C  (Dmitry Markman <dmarkman@mac.com>)
Ответы Re: question about access custom enum type from C  (Dmitry Markman <dmarkman@mac.com>)
Re: question about access custom enum type from C  (Dmitry Markman <dmarkman@mac.com>)
Список 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@mac.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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Justin Pryzby
Дата:
Сообщение: Re: pg15b3: recovery fails with wal prefetch enabled
Следующее
От: Dmitry Markman
Дата:
Сообщение: Re: question about access custom enum type from C