RE: Syntax checking DO blocks and ALTER TABLE statements?

From: Kevin Brannen <KBrannen(at)efji(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: RE: Syntax checking DO blocks and ALTER TABLE statements?
Date: 2021-02-19 05:01:10
Message-ID: SN6PR19MB235186CCE9C40E5D0D0F5BD7A4849@SN6PR19MB2351.namprd19.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

>From: Ron <ronljohnsonjr(at)gmail(dot)com>
>
>How does one go about syntax checking this?
>
>do $$
>begin if exists (select 1 from information_schema.table_constraints
> where constraint_name = 'error_to_web_service_error') then
> raise notice 'EXISTS error_to_web_service_error';
> else
> ALTER TABLE web_service_error
> ADD CONSTRAINT error_to_web_service_error FOREIGN KEY (error_id)
> REFERENCES error_code(error_id)
> ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE;
> end if
>end $$
>
>(There are 222 ALTER TABLE ADD FOREIGN KEY statements that I'm wrapping in similar DO blocks, and want to make sure the statements are clean.)

I've always wondered why Pg doesn't have something like that built in, but I suppose the obvious answer is that no one has felt like scratching that itch.

Have you checked out: https://github.com/okbob/plpgsql_check

I don't know if it'll do everything you want, but maybe it'd help at least some. It's on my to-do list to check out one day when I have time. :)

HTH,
Kevin
This e-mail transmission, and any documents, files or previous e-mail messages attached to it, may contain confidential information. If you are not the intended recipient, or a person responsible for delivering it to the intended recipient, you are hereby notified that any disclosure, distribution, review, copy or use of any of the information contained in or attached to this message is STRICTLY PROHIBITED. If you have received this transmission in error, please immediately notify us by reply e-mail, and destroy the original transmission and its attachments without reading them or saving them to disk. Thank you.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Stehule 2021-02-19 06:15:51 Re: Syntax checking DO blocks and ALTER TABLE statements?
Previous Message Tom Lane 2021-02-19 04:44:36 Re: Error with pg_dump (of data), with --role