On 6/24/2015 5:55 AM, Marc Mamin wrote:
> Hello,
>
> I'd like to count the number linebreaks within a string,
> but I get a memory allocation error when using regexp_matches or regexp_split_to_table.
>
> Any idea for an alternative to this problem ?
>
> select count(*)-1 from
> ( select regexp_split_to_table(full_message,'(\n)', 'g')
> from mytable
> where id =-2146999703
> )foo;
>
> ERROR: invalid memory alloc request size 1447215584
>
> regards,
>
> Marc Mamin
>
>
If its a large enough string, switching to plperl/plpython might give
you a pleasant speedup. There is a small overhead getting the string
to/from pg, but the string ops will be much faster.
-Andy