> 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(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/