>Effectively, a composite type that can represent a row in a class
That may be true, but users expect to see "user defined types", not tables and
views. As such, the query driving the display should be something like:
WITH types AS
( SELECT reltype
FROM pg_class
WHERE relkind = 'c'
)
SELECT *
FROM pg_type
WHERE oid in (SELECT reltype
FROM types)
ORDER BY typname;
No need to duplicate everything else.
Melvin Davidson 🎸
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.
www.youtube.com/unusedhero/videos
Folk Alley - All Folk - 24 Hours a day
www.folkalley.com
On Tuesday, January 30, 2018, 6:08:27 AM EST, Dave Page <[email protected]>
wrote:
On Tue, Jan 30, 2018 at 10:46 AM, ldrlj1 <[email protected]>
wrote:
Interesting... and thank you!
While I did expect to see tableoid, cmax, xmax, cmin, xmin and ctid in my
tables... I never expected turning on "Show system objects" would show
sequences and tables as Postgres Types.
So I am knowledgeable, can you explain why that happens?
In Postgres, the row schema of objects in pg_class (tables, sequences, views
etc) is also a "row-type". Effectively, a composite type that can represent a
row in a class:
https://www.postgresql.org/docs/10/static/plpgsql-declarations.html#PLPGSQL-DECLARATION-ROWTYPES
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company