Talk:PostgreSQL

message: tl;dr Calling PG object-relational is not useful.
Hi,
I believe that mention of object-relational databases in the lead text is not desireable.
Both relational and object-relational databases are theoretical in that there are no actual implementations of either.
Nobody really talks about using Postgres as an object-relational database any more than they talk of using other databases, like MySQL, as an object-relational db.  Even though these other databases have features found in object-relational dbs, to roughly the same degree as such features are found in Postgres.  The industry as a whole categorizes databases broadly into relational dbs and NoSQL dbs, and only secondarily into navigational/hierarchical, relational, and key-value stores with hardly any mention these days of object-relational dbs.  All the concepts in the lead text should be at least marginally recognizable to a moderately sophisticated reader.  To my mind object-relational database-ness does not meet this criteria.
I don't believe that the lead text needs to get into the weeds when it comes to detailing exactly what theoretical models are supported to what degree.
Postgres is used as, and mostly is, a relational db.
In real object-relational dbs, to my mind, The ORDBMS (like ODBMS or OODBMS) is integrated with an object-oriented programming language ... [having]  program objects [which] must be storable and transportable for database processing, therefore they usually are named as persistent objects.See Object-relational database#Overview.
There is no integration in Postgres with any object-oriented programming language, beyond the ability to embed arbitrary languages within Postgres, and no provision for persistent object stores.  
Obviously, such features can be layered on top of Postgres (e.g. SQLAlchemy), but this can be said of any relational db.
For these reasons I don't believe Postgres qualifies as a fully object-relational db.  
From a practical perspective an object-relational db should fully support object persistence in at least some object-oriented language or it does not qualify.
My theory is that the PG home page says "object-relational" because much of the original development happened in the 90's when "object-relational" was all the rage.
That was when many object-relational-related features, like type extensions and inheritance and table inheritance were introduced into Postgres.
Calling Postgres object-relational was a way to hilight the then-advanced features that Postgres sported.
Despite sporting some object-relational features I don't believe Postgres is really object-relational.  
It is not used in an object-relational fashion, at least not any more than other modern popular relational databases.  
And because regular relational databases can all now be used with object-oriented programming languages by way of an ORM mapper the industry no longer talks much, if at all, about object-relational databases. 
Given these considerations, and especially because object-relational is not a widespread term-of-art, it is not useful to use "object-relational" in the lead text.  — Preceding unsigned comment added by Kop (talk • contribs) 23:07, 24 December 2023 (UTC)
replies: text: Hi hi! Great points, as I read this I wonder if this is a useful historical aspect of the design of Postgres to mention. There is a source referenced #52 that references an object relational mapping which it appears most web frameworks offer instead, but I'm curious about how this design may have supported the adoption of Postgres (and perhaps why they still brand it as such on the main site). An actual submission is better than a suggestion, I know, but I trust your point of view on this @Kop! 2600:1700:5040:5150:FC62:C46C:7608:4D77 (talk) 16:59, 11 January 2024 (UTC)
thread_title:  Describing PG as relational v.s. object-relational in the lead