Re: Code for user-defined type

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Paul Jones <pbj(at)cmicdo(dot)com>
Cc: "pavel(dot)stehule(at)gmail(dot)com" <pavel(dot)stehule(at)gmail(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Code for user-defined type
Date: 2014-05-29 16:32:33
Message-ID: 12893.1401381153@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Paul Jones <pbj(at)cmicdo(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jerry Sievers 2014-05-29 16:40:51 Re: Postgresql 9.2.4 - timezone error
Previous Message Tom Lane 2014-05-29 16:27:04 Re: Postgresql 9.2.4 - timezone error