| From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
|---|---|
| To: | Mauricio Fernandez <mmauricio(dot)fernandez(at)gmail(dot)com> |
| Cc: | Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Script generation through psql |
| Date: | 2025-10-22 10:54:13 |
| Message-ID: | CAKFQuwbL+S0kQiSPt_SzXbOYf8FtrPLLTnUUHq_y1ooyXOffDQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-admin |
On Tuesday, October 21, 2025, Mauricio Fernandez <
mmauricio(dot)fernandez(at)gmail(dot)com> wrote:
>
>
> 2. If in the psql script I want to pass variable values from an anonymous
> block to the rest of the script, how can I proceed?. For example
>
> DO $$
> DECLARE
> vl_id integer;
> BEGIN
> -- vl_id is set inside the procedure
> call my_procedure(*vl_id*);
> END $$;
>
You’d have to do something like:
Execute format(‘set script.varname=%L’, value)
Within the DO block then you can do:
Select current_value(‘script.varname’) as psql_var \gexec
Outside of it.
A temporary table works too.
David J.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Mauricio Fernandez | 2025-10-22 11:59:26 | Re: Script generation through psql |
| Previous Message | Roland Müller | 2025-10-22 04:23:45 | Re: Script generation through psql |