Re: Script generation through psql
| От | Mauricio Fernandez | 
|---|---|
| Тема | Re: Script generation through psql | 
| Дата | |
| Msg-id | CAMdfv4VJiDXnD_=ngHh-3yUrT4K+8qA1_FVEVOy=smMg8Ri-sQ@mail.gmail.com обсуждение исходный текст  | 
		
| Ответ на | Re: Script generation through psql ("David G. Johnston" <david.g.johnston@gmail.com>) | 
| Список | pgsql-admin | 
Hi David, thanks for answer..I could resolve my issue doing the following in the script
call actualiza_fdw(null) ;\gset
select script_drop from proceso_actualiza_fdw where id = :x_id;
select script_import from proceso_actualiza_fdw where id = :x_id;
\q
select script_drop from proceso_actualiza_fdw where id = :x_id;
select script_import from proceso_actualiza_fdw where id = :x_id;
\q
The procedure declaration is: actualiza_fdw(OUT x_id integer)
regards
Mauricio Fernández
El mié, 22 oct 2025 a las 7:54, David G. Johnston (<david.g.johnston@gmail.com>) escribió:
On Tuesday, October 21, 2025, Mauricio Fernandez <mmauricio.fernandez@gmail.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 exampleDO $$
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 \gexecOutside of it.A temporary table works too.David J.
В списке pgsql-admin по дате отправления: