Andrew Dunstan wrote:
>
>
> Joshua D. Drake wrote:
>> Heikki Linnakangas wrote:
>>>
>>> We read 64 KB at a time, and then CopyReadLineText returns one line
>>> at a time from that buffer.
>>
>> O.k. I am sure I am oversimplifying things but why are we returning
>> one line at a time? That reads expensive to me. Just following the
>> general, don't do inserts one at a time, do them in batch idea for
>> example.
>
> Quite simply because one line corresponds to one record. And yes, I
> believe you are oversimplifying, or under several misapprehensions about
> what can be done at this level.
Well I find without questioning, I won't get the answers so :).
> It would be simple enough to change. Try it and see if it actually
makes
> a difference. All you have to change is the define of RAW_BUF_SIZE.
>
Fair enough. May I assume this is the only place I need to change it?
http://doxygen.postgresql.org/backend_2commands_2copy_8c-source.html#l00158
>> It looks like CopyReadAttributesText is used as part of the column
>> breakup. It also appears that this happens "before" insert right? So
>> if that is the case we are going to pay an additional penalty on the
>> data checking.
>>
>
> What? I don't understand what you are talking about.
Data checking on insert to the DB itself. I have no doubt that I may be
wrong on this.
Joshua D. Drake