From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | Igor Korot <ikorot01(at)gmail(dot)com> |
Cc: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: How to watch for schema changes |
Date: | 2018-07-05 16:49:00 |
Message-ID: | CAKFQuwZTLG89P6oeQdFskeTmsSgnNu=BZ_802q4wAhvnR7g+Fg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Jul 5, 2018 at 8:40 AM, Igor Korot <ikorot01(at)gmail(dot)com> wrote:
> Hi, David,
>
> On Tue, Jul 3, 2018 at 1:46 PM, David G. Johnston
> <david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
> > On Tue, Jul 3, 2018 at 11:41 AM, Igor Korot <ikorot01(at)gmail(dot)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.
David J.
From | Date | Subject | |
---|---|---|---|
Next Message | David Gauthier | 2018-07-05 16:58:21 | As a table owner, can I grant "grant" ? |
Previous Message | Melvin Davidson | 2018-07-05 16:14:40 | Re: How to watch for schema changes |