Thread: Creating or modifying a tsquery from PL/pgSQL

Creating or modifying a tsquery from PL/pgSQL

From
Tobia Conforto
Date:
I'd like to convert a plain search string into a tsquery, much like plainto_tsquery(), but enabling prefix searches
(:*)for every word. 

I've come up with this:

select regexp_replace(
           plainto_tsquery('english', 'text to search')::text,
           '''(?= |$)', ''':*', 'g'
       )::tsquery;
--> 'text':* & 'search':*

Is this the best way to do it, without writing C code? Can I otherwise manipulate the tsquery data structure from
PL/pgSQLwithout converting it to/from text? Would you recommend a different approach? 

-Tobia