Обсуждение: [BUGS] BUG #14493: psql command : Unable to use set with \copy
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
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