Re: Counting the occurences of a substring within a very large text - Mailing list pgsql-general

From Andy Colson
Subject Re: Counting the occurences of a substring within a very large text
Date
Msg-id 558AAF9D.1050200@squeakycode.net
Whole thread Raw
In response to Counting the occurences of a substring within a very large text  (Marc Mamin <M.Mamin@intershop.de>)
List pgsql-general
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


pgsql-general by date:

Previous
From: Albe Laurenz
Date:
Subject: Re: Counting the occurences of a substring within a very large text
Next
From: Marc Mamin
Date:
Subject: Re: Counting the occurences of a substring within a very large text