Re: multiple -f support

David Christensen <david@endpoint.com>

From: David Christensen <david@endpoint.com>
To: Bruce Momjian <bruce@momjian.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Mark Wong <markwkm@gmail.com>, Simon Riggs <simon@2ndquadrant.com>, gabrielle <gorthx@gmail.com>, Alvaro Herrera <alvherre@commandprompt.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-03-11T16:30:36Z
Lists: pgsql-hackers
On Mar 11, 2011, at 6:17 AM, Bruce Momjian wrote:

> Robert Haas wrote:
>> On Sun, Feb 6, 2011 at 11:16 AM, Bruce Momjian <bruce@momjian.us> wrote:
>>> I assume having psql support multiple -f files is not a high priority or
>>> something we don't want.
>> 
>> IIRC, nobody objected to the basic concept, and it seems useful.  I
>> thought we were pretty close to committing something along those lines
>> at one point, actually.  I don't remember exactly where the wheels
>> came off.
>> 
>> Maybe a TODO?
> 
> Added to the psql section:
> 
> 	|Allow processing of multiple -f (file) options


The original patch was a fairly trivial WIP one, which I started working on to add support for multiple -c flags interspersed as well.  I haven't looked at it in quite some time, though; there had been some concerns about how it worked in single-transaction mode and some other issues I don't recall off the top of my head.

On this topic, I was thinking that it may be useful to provide an alternate multi-file syntax, a la git, with any argument following '--' in the argument list being interpreted as a file to process; i.e.,:

$ psql -U user [option] database -- file1.sql file2.sql file3.sql

This would allow things like shell expansion to work as expected:

$ ls
01-schema.sql    02-data1.sql    03-fixups.sql

$ psql database -- *.sql

etc.

Regards,

David
--
David Christensen
End Point Corporation
david@endpoint.com