Re: Advice request : simultaneous function/data updates on many databases - Mailing list pgsql-general

From David G. Johnston
Subject Re: Advice request : simultaneous function/data updates on many databases
Date
Msg-id CAKFQuwZh-2pfr73XNUXg9CJtSDaVbiTOJYF4Dbre_6vs-JjcMA@mail.gmail.com
Whole thread Raw
In response to Re: Advice request : simultaneous function/data updates on many databases  ("David G. Johnston" <david.g.johnston@gmail.com>)
Responses Re: Advice request : simultaneous function/data updates on manydatabases  (Rory Campbell-Lange <rory@campbell-lange.net>)
List pgsql-general
On Wed, Mar 4, 2020 at 3:55 PM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Wed, Mar 4, 2020 at 3:48 PM Rory Campbell-Lange <rory@campbell-lange.net> wrote:
Any thoughts on how to wrap pl/pgsql function dropping and recreation code
within a wrapper pl/pgsql function?

Not endorsing this but dynamic SQL works just fine (though can get hard to read).  Use format() and EXECUTE ... USING liberally.


Or, more readable depending upon your trust level:

INSERT INTO dynamic_codes VALUES (1, 'DROP FUNCTION ...');

CREATE FUNCTION execute_dynamic(code_id int)
AS $$
sql_cmd := (SELECT val FROM dynamic_codes WHERE id = code_id);
EXECUTE sql_cmd;
$$;

SELECT execute_dynamic(1);

David J.

pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: Advice request : simultaneous function/data updates on many databases
Next
From: stan
Date:
Subject: Determining the type of an obkect in plperl