Because in case of change in the database structure you can avoid to touch the application, also due the fact you can change table definitions inside a transaction you can even upgrade your database without downtime
I'm about to build a website using PostgreSQL and for the first time I am not going to be using an ORM. I want to do it manually because I want to take the time to learn to use PostgreSQL properly on its own. The question is should I use stored procedures for the majority of the database operations or should I just use ad hoc queries as and when I need them? The advantage I can see for stored procedures is that you can do complex queries just by calling a single function rather than having to make multiple queries to get the result that you need. Plus it keeps the majority of data handling code at the database level rather than in the application itself.
I was wondering what the consensus was for this? Should I try and use stored procedures as much as possible or should I only use them for specific types of tasks?