Re: COPY FROM WHEN condition
David Fetter <david@fetter.org>
From: David Fetter <david@fetter.org>
To: Daniel Verite <daniel@manitou-mail.org>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, "corey.huinker" <corey.huinker@gmail.com>, nasbyj@amazon.com, Surafel Temsgen <surafel3000@gmail.com>, Christoph Moench-Tegeder <cmt@burggraben.net>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-11-02T17:29:12Z
Lists: pgsql-hackers
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
Commits
-
Remove unused struct member, enforce multi_insert callback presence.
- 57a7a3adfe4e 12.0 landed
-
Separate per-batch and per-tuple memory contexts in COPY
- 36a1281f86c0 12.0 landed
-
Fix handling of volatile expressions in COPY FROM ... WHERE
- 4a8283d0ec5a 12.0 landed
-
Allow COPY FROM to filter data using WHERE conditions
- 31f3817402da 12.0 landed
-
Remove obsolete netbsd dynloader code
- b68ff3ea672c 12.0 cited