pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Riaan Stander <rstander@exa.co.za>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-performance@postgresql.org
Subject: Re: Bulk persistence strategy
Date: Sun, 21 May 2017 21:29:53 +0200
Message-ID: <0e47ae52-e80a-fd8e-021c-7c8cc0495b26@exa.co.za> (raw)
In-Reply-To: <32403.1495377186@sss.pgh.pa.us>
References: <04c901d2a753$f55de020$e019a060$@exa.co.za>
	<15c29aeedc8.27e1.e05fafc80f8daf1488764675043d44fb@exa.co.za>
	<32403.1495377186@sss.pgh.pa.us>
List-Unsubscribe:  <mailto:majordomo@postgresql.org?body=unsub%20pgsql-performance>


> Riaan Stander <rstander@exa.co.za> writes:
>> I've come up with generating functions on the go, but I'm concerned about
>> the performance impact of this. I first wanted to use an anonoumys code
>> block, but then I cannot do parameter binding from npgsql.
>> ...
>> Is there a better way I'm missing and is "temp" function creation in
>> Postgres a big performance concern, especially if a server is under load?
> The function itself is only one pg_proc row, but if you're expecting
> to do this thousands of times a minute you might have to adjust autovacuum
> settings to avoid bad bloat in pg_proc.
>
> If you're intending that these functions be use-once, it's fairly unclear
> to me why you bother, as opposed to just issuing the underlying SQL
> statements.
>
> 			regards, tom lane

The intended use is use-once. The reason is that the statements might 
differ per call, especially when we start doing updates. The ideal would 
be to just issue the sql statements, but I was trying to cut down on 
network calls. To batch them together and get output from one query as 
input for the others (declare variables), I have to wrap them in a 
function in Postgres. Or am I missing something? In SQL Server TSQL I 
could declare variables in any statement as required.

view thread (11+ messages)  latest in thread

Message-ID: <0e47ae52-e80a-fd8e-021c-7c8cc0495b26@exa.co.za>
Permalink:  ../0e47ae52-e80a-fd8e-021c-7c8cc0495b26@exa.co.za/
Also on:    postgresql.org/message-id/0e47ae52-e80a-fd8e-021c-7c8cc0495b26@exa.co.za

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: rstander@exa.co.za, tgl@sss.pgh.pa.us
  Subject: Re: Bulk persistence strategy
  In-Reply-To: <0e47ae52-e80a-fd8e-021c-7c8cc0495b26@exa.co.za>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox