| From: | Mauricio Fernandez <mmauricio(dot)fernandez(at)gmail(dot)com> |
|---|---|
| To: | Roland Müller <rolmur(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 12:03:00 |
| Message-ID: | CAMdfv4XctGzubbgkASHRdDG1jMjwRrOesQpYJczACdcTingrTw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-admin |
Hi Roland, thanks for the answer, I will investigates de \copy command. For
know, I could resolve with the following call in the bash script:
Using -Atq and PAGER="" the desired output was as expected
export PAGER=""
psql *-Atq* -U moodle -d lms4x -f ./src.sql > $UPD_FILE 2>&1
regards Mauricio Fernández
El mié, 22 oct 2025 a las 1:23, Roland Müller (<rolmur(at)gmail(dot)com>) escribió:
> Hello,
>
> the \copy command should be able to output only the results of some
> query. This command is client side. Thus \copy runs in psql and uses the
> server side COPY .
>
> https://www.postgresql.org/docs/17/app-psql.html
>
> BR
> Roland
>
>
> Mauricio Fernandez <mmauricio(dot)fernandez(at)gmail(dot)com> ezt írta (időpont:
> 2025. okt. 21., K 23:52):
>
>> 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
>>
>> 1.- The output file is like :
>> *Pager usage is off.*
>> -- *+*
>> -- 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 $$;
>>
>> select script_drop 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
>>
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ishan Arunkumar Joshi | 2025-10-22 12:21:30 | does BUG #18942 and BUG #18938 solution available in Pg16 latest release 16.10 |
| Previous Message | Mauricio Fernandez | 2025-10-22 11:59:26 | Re: Script generation through psql |