On Fri, Nov 02, 2018 at 12:58:12PM +0100, Daniel Verite wrote: > Pavel Stehule wrote: > > > > SELECT x.a, sum(x.b) > > > FROM ( COPY INLINE '/path/to/foo.txt' FORMAT CSV ) as x( a integer, b > > > numeric, c text, d date, e json) ) > > > WHERE x.d >= '2018-11-01' > > > > > > > > Without some special feature this example is not extra useful. It is based > > on copy on server that can use only super user with full rights. > > And if superuser, one might use the file data wrapper [1] to get > the same results without the need for the explicit COPY in the query. > > BTW, this brings into question whether the [WHEN condition] clause > should be included in the options of file_fdw, as it supports pretty > much all COPY options. > > Also, psql's \copy should gain the option too?
tl;dr: \copy support is a very large can of worms. psql's \copy is something which should probably be handled separately from COPY, as it's both a way to access the filesystem without superuser permission and an interface to the COPY part of the protocol. It seems like poor design to add grammar to support a single client, so we'd need to think about this in terms of what we want to support on the client side independent of specific clients. It also seems like a violation of separation of concerns to couple FEBE to grammar, so there'd need to be some way to do those things separately, too. Best, David. -- David Fetter <david(at)fetter(dot)org> http://fetter.org/ Phone: +1 415 235 3778 Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate