On 06/20/2012 12:18 PM, Tom Lane wrote:
> David Fetter<david@fetter.org> writes:
>> OK, new proposal:
>> COPY FROM (Thanks, Andrew! Must not post while asleep...) should have
>> an option which requires that HEADER be enabled and mandates that the
>> column names in the header match the columns coming in.
>> Has someone got a better name for this option than
>> KEEP_HEADER_COLUMN_NAMES?
> Well, if it's just checking that the list matches, then maybe
> CHECK_HEADER would do.
>
> In your original proposal, I was rather wondering what should happen if
> the incoming file didn't have the same set of columns called out in the
> COPY command's column list. (That is, while *rearranging* the columns
> might be thought non-astonishing, I'm less convinced about a copy
> operation that inserts or defaults columns differently from what the
> command said should happen.) If we're just checking for a match, that
> question goes away.
>
>
In the past people have asked me to have copy use the CSV header line in
place of supplying a column list in the COPY command. I can certainly
see some utility in that, and I think it might achieve what David wants.
Using that scenario it would be an error to supply an explicit column
list and also use the header line. But then I don't think CHECK_HEADER
would be the right name for the option. In any case, specifying a name
before we settle on an exact behaviour seems wrong :-)
cheers
andrew