Script generation through psql
| От | Mauricio Fernandez |
|---|---|
| Тема | Script generation through psql |
| Дата | |
| Msg-id | CAMdfv4XRZXZmZm3NWmjPe69kaAnkRTX_8Jq1qp+Pet9mD4eCaw@mail.gmail.com обсуждение исходный текст |
| Ответы |
Re: Script generation through psql
Re: Script generation through psql Re: Script generation through psql |
| Список | pgsql-admin |
Hi community
I'm trying to generate an script file as the output from psql script been called from linux bash, and I've two issues:
The bash call is like:
psql -U myusr-d mydb -f ./scr.sql > $UPD_FILE 2>&1
$ cat scr.sql
\set vl_id 19
\set ECHO none
\pset tuples_only on
\pset pager off
select script_drop from proceso_actualiza_fdw where id = :vl_id;
select script_import from proceso_actualiza_fdw where id = :vl_id;
\q
\set ECHO none
\pset tuples_only on
\pset pager off
select script_drop from proceso_actualiza_fdw where id = :vl_id;
select script_import from proceso_actualiza_fdw where id = :vl_id;
\q
1.- The output file is like :
Pager usage is off.
-- +
-- BORRADO DE TABLAS MODIFICADAS +
-- +
-- BORRADO DE TABLAS MODIFICADAS +
How can I eliminate "Pager usage is off." and the "+" at the end of each row?
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 $$;
DECLARE
vl_id integer;
BEGIN
-- vl_id is set inside the procedure
call my_procedure(vl_id);
END $$;
select script_drop from proceso_actualiza_fdw where id = :vl_id;
select script_import from proceso_actualiza_fdw where id = :vl_id;
select script_import from proceso_actualiza_fdw where id = :vl_id;
The script output file is the result set from the queries.
I've tried with \set myvar but this doesn't works
Thank you very much in advance
kind regards
Mauricio Fernández
В списке pgsql-admin по дате отправления: