12.11. Ограничения

Текущая реализация текстового поиска в PostgreSQL имеет следующие ограничения:

  • Длина лексемы не может превышать 2 килобайта

  • Длина значения tsvector (лексемы и их позиции) не может превышать 1 мегабайт

  • Число лексем должно быть меньше 264

  • Значения позиций в tsvector должны быть от 0 до 16383

  • Расстояние в операторе <N> (ПРЕДШЕСТВУЕТ) типа tsquery не может быть больше 16384

  • Не больше 256 позиций для одной лексемы

  • Число узлов (лексемы + операторы) в значении tsquery должно быть меньше 32768

Для сравнения, документация PostgreSQL 8.1 содержала 335 420 слов, из них 10 441 уникальных, а наиболее часто употребляющееся в ней слово «postgresql» встречается 6 127 раз в 655 документах.

Другой пример — архивы списков рассылки PostgreSQL содержали 910 989 уникальных слов в 57 491 343 лексемах в 461 020 сообщениях.

52.96. pg_user_mappings

The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.

Table 52.97. pg_user_mappings Columns

Column Type

Description

umid oid (references pg_user_mapping.oid)

OID of the user mapping

srvid oid (references pg_foreign_server.oid)

The OID of the foreign server that contains this mapping

srvname name (references pg_foreign_server.srvname)

Name of the foreign server

umuser oid (references pg_authid.oid)

OID of the local role being mapped, or zero if the user mapping is public

usename name

Name of the local user to be mapped

umoptions text[]

User mapping specific options, as keyword=value strings


To protect password information stored as a user mapping option, the umoptions column will read as null unless one of the following applies:

  • current user is the user being mapped, and owns the server or holds USAGE privilege on it

  • current user is the server owner and mapping is for PUBLIC

  • current user is a superuser