Are OIDs for pg_types constant?
Hi everyone,
I am writing a program that behaves like a Postgres backend and can see
that if I select oid from pg_type that the type old’s could be returned in
the Row Description message for the field’s data type and that seems to
work.
However, I didn’t read anywhere that these are guaranteed to be
constant/stable so I’d like to know if this is the case. For example: is
the old for pg_type bool = 16 on every instance of Postgres?
Also does there exist any documentation decoding what the pg_type fields
all mean?
Please let me know, thanks!
-Tyler
Tyler Brock <tyler.brock@gmail.com> writes:
I am writing a program that behaves like a Postgres backend and can see
that if I select oid from pg_type that the type old’s could be returned in
the Row Description message for the field’s data type and that seems to
work.
However, I didn’t read anywhere that these are guaranteed to be
constant/stable so I’d like to know if this is the case. For example: is
the old for pg_type bool = 16 on every instance of Postgres?
Hand-assigned OIDs (those below 10000) are stable in released versions.
Those above 10K might vary across installations or PG versions. You
might find it interesting to read
Also does there exist any documentation decoding what the pg_type fields
all mean?
https://www.postgresql.org/docs/current/catalog-pg-type.html
regards, tom lane
Thank you Tom, this is exactly what I was looking for.
-Tyler
On Apr 20, 2022 at 11:23:59 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Show quoted text
Tyler Brock <tyler.brock@gmail.com> writes:
I am writing a program that behaves like a Postgres backend and can see
that if I select oid from pg_type that the type old’s could be returned in
the Row Description message for the field’s data type and that seems to
work.
However, I didn’t read anywhere that these are guaranteed to be
constant/stable so I’d like to know if this is the case. For example: is
the old for pg_type bool = 16 on every instance of Postgres?
Hand-assigned OIDs (those below 10000) are stable in released versions.
Those above 10K might vary across installations or PG versions. You
might find it interesting to readAlso does there exist any documentation decoding what the pg_type fields
all mean?
https://www.postgresql.org/docs/current/catalog-pg-type.html
regards, tom lane