David, On Thu, Jul 5, 2018 at 11:49 AM, David G. Johnston <david.g.johnston@xxxxxxxxx> wrote: > On Thu, Jul 5, 2018 at 8:40 AM, Igor Korot <ikorot01@xxxxxxxxx> wrote: >> >> Hi, David, >> >> On Tue, Jul 3, 2018 at 1:46 PM, David G. Johnston >> <david.g.johnston@xxxxxxxxx> wrote: >> > On Tue, Jul 3, 2018 at 11:41 AM, Igor Korot <ikorot01@xxxxxxxxx> 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. Is it the same from the DB server POV? Meaning it is also the same 1/2 hit depending on the existence? Also performance-wise querying and this method is the same, right? Thank you. > > David J. >