Re: Stored procedures or raw queries - Mailing list pgsql-general

From Philip Semanchuk
Subject Re: Stored procedures or raw queries
Date
Msg-id 12D4341E-023D-420B-8522-DD9B97EC2B90@americanefficient.com
Whole thread Raw
In response to Stored procedures or raw queries  (Simon Connah <simon@connah.dev>)
Responses Re: Stored procedures or raw queries
List pgsql-general

> On Aug 6, 2025, at 8:03 AM, Simon Connah <simon@connah.dev> wrote:
>
> Hi,
>
> I'm pretty new to PostgreSQL and am building a simple website with it.
>
> My main question is whether I should use stored procedures / functions
> or whether I should embed raw SQL queries in my backend? I understand
> that procedures are faster as it cuts down on the round trip speed and
> the database can optimise it better.
>
> On the other hand raw SQL is much easier to manage as you just change
> the query in your bankend code without having to apply changes to the
> database at deployment time of your backend.
>
> What is considered the best approach? My backend is written in Go if
> that makes a difference.
>
> If you need any additional information then please let me know.

If your only concern is performance, then using stored procedures might be overoptimizing. It’s true that they cut down
onoverhead, but that overhead might be meaningless in terms of overall performance. For instance, if you have low
latencybetween your web server and database server, and your typical query takes 5-6 seconds to execute, then most of
yourusers’ wait time is due to execution time, not to communication between servers. Stored procedures won’t help you
much.

If you’re building a simple web site, I suggest starting with what seems simplest for you (which sounds like raw SQL
fromyour description) and then addressing performance problems as they arise. Stored procedures are one tool in the
performancetoolbox.  

good luck
Philip


pgsql-general by date:

Previous
From: Charles Qi
Date:
Subject: When UPDATE a row in a table with BEFORE ROW UPDATE trigger, the XMAX of new tuple is set to current XID
Next
From: Simon Connah
Date:
Subject: Re: Stored procedures or raw queries