Список всех семейств операторов, связанных со схемой, и всех операторов в семействе операторов? - PullRequest
1 голос
/ 21 марта 2011

G'day,

Как вы можете выбрать / перечислить все семейства операторов, связанные с базой данных / схемой, и перечислить все операции внутри семейства операций в postgreSQL (8.3, если это имеет значение).

Спасибо!

Ответы [ 2 ]

4 голосов
/ 16 апреля 2011

Семейства операторов в схеме:

SELECT *
FROM pg_opfamily opf JOIN pg_namespace n ON n.oid = opf.opfnamespace
WHERE n.nspname = 'something';

Получить все операторы в пределах семейства операторов более сложно, потому что семейства операторов содержат некоторые операторы напрямую, а некоторые через классы операторов, которые в них содержатся.Чтобы получить первое, соедините pg_opfamily с pg_amop, чтобы получить второе, присоединитесь к pg_opfamily с pg_opclass, а затем в обоих случаях против pg_operator.Однако сомнительно, насколько полезной будет эта информация, потому что для оценки пригодности семейства операторов для планирования и оптимизации запросов вам также понадобится информация о методах доступа, типах данных и некоторых других вещах.

1 голос
/ 21 марта 2011

Из руководства : используйте его из командной строки psql

\do [ pattern ]

Список доступных операторов с их типами операндов и возвращаемых значений.Если указан шаблон, отображаются только операторы, имена которых соответствуют шаблону.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...