65.1. Введение
Аббревиатура SP-GiST расшифровывается как «Space-Partitioned GiST» (GiST с секционированием пространства). SP-GiST поддерживает деревья поиска с секционированием, что облегчает разработку широкого спектра различных несбалансированных структур данных, в том числе деревьев квадрантов, а также k-мерных и префиксных деревьев. Общей характеристикой этих структур является то, что они последовательно разбивают пространство поиска на сегменты, которые не обязательно должны быть равного размера. При этом поиск, хорошо соответствующий правилу секционирования, с таким индексом может быть очень быстрым.
Эти популярные структуры данных изначально конструировались для работы в памяти. При таком применении они обычно представляются в виде набора динамически выделяемых узлов, связываемых указателями. Однако подобную схему нельзя в таком виде перенести на диск, так как цепочки указателей могут быть довольно длинными, и поэтому потребуется слишком много обращений к диску. Структуры данных для хранения на диске, напротив, должны иметь большую разветвлённость для минимизации объёма ввода/вывода. Для решения этой задачи SP-GiST сопоставляет узлы дерева поиска со страницами на диске так, чтобы при поиске требовалось обращаться только к нескольким страницам на диске, даже если при этом нужно просмотреть множество узлов.
Как и GiST, SP-GiST призван дать возможность разрабатывать дополнительные типы данных с соответствующими методами доступа экспертам в предметной области типа данных, а не специалистам по СУБД.
Представленная здесь информация частично позаимствована с сайта Проекта индексации SP-GiST Университета Пердью. Сопровождением реализации SP-GiST в PostgreSQL в основном занимаются Фёдор Сигаев и Олег Бартунов; дополнительные сведения можно получить на их сайте.
49.64. System Views
In addition to the system catalogs, Postgres Pro provides a number of built-in views. Some system views provide convenient access to some commonly used queries on the system catalogs. Other views provide access to internal server state.
The information schema (Chapter 34) provides an alternative set of views which overlap the functionality of the system views. Since the information schema is SQL-standard whereas the views described here are Postgres Pro-specific, it's usually better to use the information schema if it provides all the information you need.
Table 49.65 lists the system views described here. More detailed documentation of each view follows below. There are some additional views that provide access to the results of the statistics collector; they are described in Table 27.2.
Except where noted, all the views described here are read-only.
Table 49.65. System Views
View Name | Purpose |
---|---|
pg_available_extensions | available extensions |
pg_available_extension_versions | available versions of extensions |
pg_config | compile-time configuration parameters |
pg_cursors | open cursors |
pg_file_settings | summary of configuration file contents |
pg_group | groups of database users |
pg_hba_file_rules | summary of client authentication configuration file contents |
pg_indexes | indexes |
pg_locks | locks currently held or awaited |
pg_matviews | materialized views |
pg_policies | policies |
pg_prepared_statements | prepared statements |
pg_prepared_xacts | prepared transactions |
pg_publication_tables | publications and their associated tables |
pg_replication_origin_status | information about replication origins, including replication progress |
pg_replication_slots | replication slot information |
pg_roles | database roles |
pg_rules | rules |
pg_seclabels | security labels |
pg_sequences | sequences |
pg_settings | parameter settings |
pg_shadow | database users |
pg_stats | planner statistics |
pg_tables | tables |
pg_timezone_abbrevs | time zone abbreviations |
pg_timezone_names | time zone names |
pg_user | database users |
pg_user_mappings | user mappings |
pg_views | views |