Hi, David, On Tue, Jul 3, 2018 at 1:46 PM, David G. Johnston <david.g.johnston@gmail.com> wrote: > On Tue, Jul 3, 2018 at 11:41 AM, Igor Korot <ikorot01@gmail.com> wrote: >> >> >> I presume threre is a query which check for the function/trigger >> existence? Something like: >> >> IF NOT EXIST(SELECT * FROM ) CREATE OR REPLACE FUNCTION....; > > > CREATE OR REPLACE is how you re-create a function that (whose > name/signature) might already exist; CREATE already assumes one doesn't > exist.
Why do I need to re-create a function with exactly the same name and body? Can't I just check if such function exists?
You can, and depending on how often you intend to execute said code, it is probably the better way. It also requires pl/pgsql while CREATE OR REPLACE "just works" as a single SQL command. It seems easier to give you the simple answer than to work out the details for the more complex one.