Paul Jones <pbj@cmicdo.com> writes:
> I used the proper XGetDatum and DatumGetX and was able to get it to work
> properly.� However, I since discovered that I probably should not use
> "cstring_to_text" because of the palloc's it does.� The problem comes
> when doing "\copy table from file".� After about 1000 rows, the backend
> dies with SEGV, I think because of too many pallocs being created in
> the copy transaction.
That probably means you're stomping on memory that doesn't belong to you.
pallocs per se should not be a problem for COPY --- it does a context
reset per row. And even if it didn't, you'd not likely be running out
of memory after a mere thousand rows. However, a buffer-overrun type
of coding error would be probabilistic as to when it became obvious
via a core dump; some of the time you'd be stomping on memory that
was unused anyway.
regards, tom lane