Is this a permanent limitation of GIN, or is a fix possible?
Permanent. You could check user input by querytree() function --- if it returns
'T' string then fullscan will be needed. If your tsquery is produced by
plainto_tsquery() call then it will not find any result, so you can show to user
void page.
Is a fix being worked on?
If a fix is forthcoming, will it be available in the 8.2 series or only 8.3+?
Possibly, full fix in 8.4. But I will not promise.
8.3 will have protection from queries which doesn't match anything.
--
Teodor Sigaev E-mail: teodor@xxxxxxxxx
WWW: http://www.sigaev.ru/