[GENERAL] Re: [GENERAL] Love Your Database project — Thoughts on effectively handling constraints? - Mailing list pgsql-general

From Guyren Howe
Subject [GENERAL] Re: [GENERAL] Love Your Database project — Thoughts on effectively handling constraints?
Date
Msg-id A240F0EC-D803-4D9E-9822-46380180F343@gmail.com
Whole thread Raw
In response to Re: [GENERAL] Love Your Database project — Thoughts on effectively handling constraints?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Dec 16, 2016, at 16:52 , Tom Lane <tgl@sss.pgh.pa.us> wrote:

So I’ve started a project to fix this. I’m initially going to write a series of blog posts demonstrating in principle how a developer can put much/all of their model logic in their database.

Cool.  This sounds well worth while.

Thanks, Tom.

I had a sort of slowly developing epiphany a few years back as I dug deeper into Postgres: it’s not just a database server. The whole rationale for the design of Postgres, which it takes considerably further than any of the other relational databases, is that it should be a “Model Server”. The pluggable languages, data types, FDW and all the rest is there to provide the most efficient possible way to implement your domain model, business logic, etc.

I think folks understood this back in the day, but as architectures shifted, new paradigms arose, and a new generation came along hungry to do their own thing, this perspective has been just completely lost in enormous parts of the software development community. The old wisdom, the whole intent of the RDBMS I think can now be, weirdly, the radical new thing.

I’m just getting started on this. If anyone has any thoughts on what the role of the RDBMS should be in modern software architectures and how that should be communicated, please get in touch so I can make this as good as it can be.

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: [GENERAL] Love Your Database project — Thoughts on effectively handling constraints?
Next
From: Arup Rakshit
Date:
Subject: [GENERAL] Delete from table conditionally