PostgreSQL: Documentation: devel: 12.11. Limitations
DocumentationPostgreSQL devel (2026-09-11 15:39:05 - git commit 962e0a723a2)
Supported Versions: Current (18) / 17 / 16 / 15 / 14
Development Versions: 19 / devel
Unsupported versions: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

12.11. Limitations #

The current limitations of PostgreSQL's text search features are:

  • The length of each lexeme must be less than 2 kilobytes

  • No more than 256 positions per lexeme

  • Position values in tsvector must be greater than 0 and no more than 16,383

  • The length of a tsvector's data (lexemes + positions) must be less than 1 megabyte

  • The length of a tsquery's data (lexemes only) must be less than 1 megabyte

  • The match distance in a <N> (FOLLOWED BY) tsquery operator cannot be more than 16,384

For comparison, the PostgreSQL 8.1 documentation contained 10,441 unique words, a total of 335,420 words, and the most frequent word postgresql was mentioned 6,127 times in 655 documents.

Another example — the PostgreSQL mailing list archives contained 910,989 unique words with 57,491,343 lexemes in 461,020 messages.