>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 <dp...@pgadmin.org> wrote: On Tue, Jan 30, 2018 at 10:46 AM, ldrlj1 <russelljan...@masterpeaceltd.com> 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