Re: Determine server version from psql script

From: Igor Korot <ikorot01(at)gmail(dot)com>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Determine server version from psql script
Date: 2025-03-23 18:31:35
Message-ID: CA+FnnTx5n=yCw4+qcRuv-c7ECf=K=tao7j_k=dDp5nPUMJ7t_A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

[code]
SELECT current_setting('server_version_num')::int > 130000 as v13
\gset
\if :v13
CREATE OR REPLACE TRIGGER playersinleague_insert AFTER INSERT ON
playersinleague WHEN new.current_rank IS NULL
BEGIN
UPDATE playersinleague SET current_rank = 1 + (SELECT
coalesce( max( current_rank ), 0 ) FROM playersinleague WHERE id =
new.id) WHERE rowid = new.rowid;
psql:draft_pg.sql:44265: ERROR: syntax error at or near "TRIGGER"
LINE 1: CREATE OR REPLACE TRIGGER playersinleague_insert AFTER INSER...
^
[/code]

What am I doing wrong?

Thank you.

On Sun, Mar 23, 2025 at 12:53 PM David G. Johnston
<david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
>
> On Sunday, March 23, 2025, David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
>>
>> On Sunday, March 23, 2025, Igor Korot <ikorot01(at)gmail(dot)com> wrote:
>>>
>>>
>>> 2. Is there a way to do CREATE TRIGGER IF NOT EXIST for the earlier version?
>>
>>
>> No. You have to drop the trigger if it does exist and then create the new one.
>
>
> Well, you can always query the catalogs directly to answer the question “does this trigger exist”.
>
> David J.
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Stehule 2025-03-23 19:17:02 Re: Determine server version from psql script
Previous Message David G. Johnston 2025-03-23 17:53:04 Re: Determine server version from psql script