Обсуждение: [BUGS] BUG #14493: psql command : Unable to use set with \copy

Поиск
Список
Период
Сортировка

[BUGS] BUG #14493: psql command : Unable to use set with \copy

От
maxandreogeret@gmail.com
Дата:
The following bug has been logged on the website:

Bug reference:      14493
Logged by:          Maxandre Ogeret
Email address:      maxandreogeret@gmail.com
PostgreSQL version: 9.4.1
Operating system:   Redhat
Description:

Hello.

When launching a .sql file from batch script with psql command you can't
pass a variable with set.

batch file :
parameter=$1

psql -h XXX -U XXX -d XXX $@ --set foo=$parameter


SQL file :
\COPY ( SELECT * FROM table where id = :'foo') TO 'out.lst' WITH DELIMITER
AS '|' NULL AS 'ISNULL';

This won't work. but \qecho :'foo'

Will work.

Thanks for your reading.



--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Re: [BUGS] BUG #14493: psql command : Unable to use set with \copy

От
Tom Lane
Дата:
maxandreogeret@gmail.com writes:
> When launching a .sql file from batch script with psql command you can't
> pass a variable with set.

I think the actual issue here has nothing to do with batch files;
rather the problem is that \copy doesn't expand potential variable
references in its arguments.  I'm not sure about the compatibility
implications of changing that.  In the meantime, perhaps you could
use COPY instead of \copy.

            regards, tom lane


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs