forked from le0pard/postgresql_book
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpostgresql_extensions.tex
More file actions
77 lines (53 loc) · 5.11 KB
/
postgresql_extensions.tex
File metadata and controls
77 lines (53 loc) · 5.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
\chapter{Расширения}
\begin{epigraphs}
\qitem{Гибкость ума может заменить красоту.}{Стендаль}
\end{epigraphs}
\section{Введение}
Один из главных плюсов PostgreSQL это возможность расширения его функционала с помощью расширений.
В данной статье я затрону только самые интересные и популярные из существующих расширений.
\input{extensions/postgis}
\input{extensions/pgsphere}
\input{extensions/hstore}
\input{extensions/plv8}
\input{extensions/smlar}
\input{extensions/postpic}
\input{extensions/fuzzystrmatch}
\section{Tsearch2}
\textbf{Лицензия}: Open Source
Tsearch2~-- расширение для полнотекстового поиска. Встроен в PostgreSQL начиная с версии 8.3.
\section{OpenFTS}
\textbf{Лицензия}: Open Source
\textbf{Ссылка}: \href{http://openfts.sourceforge.net/}{openfts.sourceforge.net}
OpenFTS (Open Source Full Text Search engine) является продвинутой PostgreSQL поисковой системой, которая обеспечивает
онлайн индексирования данных и актуальность данных для поиска по базе. Тесная интеграция с базой данных позволяет использовать метаданные,
чтобы ограничить результаты поиска.
\section{PL/Proxy}
\textbf{Лицензия}: Open Source
\textbf{Ссылка}: \href{http://pgfoundry.org/projects/plproxy/}{pgfoundry.org/projects/plproxy}
PL/Proxy представляет собой прокси-язык для удаленного вызова процедур и партицирования данных между разными базами.
Подробнее можно почитать в \Sref{sec:plproxy} главе.
\section{Texcaller}
\textbf{Лицензия}: Open Source
\textbf{Ссылка}: \href{http://www.profv.de/texcaller/}{www.profv.de/texcaller}
Texcaller~--- это удобный интерфейс для командной строки TeX, который обрабатывает все виды ошибок. Он написан в простом C, довольно портативный,
и не имеет внешних зависимостей, кроме TeX. Неверный TeX документ обрабатывается путем простого возвращения NULL,
а не прерывается с ошибкой. В случае неудачи, а также в случае успеха, дополнительная обработка информации осуществляется через NOTICEs.
\section{Pgmemcache}
\textbf{Лицензия}: Open Source
\textbf{Ссылка}: \href{http://pgfoundry.org/projects/pgmemcache/}{pgfoundry.org/projects/pgmemcache}
Pgmemcache~--- это PostgreSQL API библиотека на основе libmemcached для взаимодействия с memcached. С помощью данной библиотеки
PostgreSQL может записывать, считывать, искать и удалять данные из memcached. Подробнее можно почитать в \Sref{sec:pgmemcache} главе.
\section{Prefix}
\textbf{Лицензия}: Open Source
\textbf{Ссылка}: \href{http://pgfoundry.org/projects/prefix}{pgfoundry.org/projects/prefix}
Prefix реализует поиск текста по префиксу (prefix @> text).
Prefix используется в приложениях телефонии, где маршрутизация вызовов и расходы зависят от вызывающего/вызываемого префикса телефонного номера оператора.
\section{Dblink}
\textbf{Лицензия}: Open Source
Dblink~-- расширение, которое позволяет выполнять запросы к удаленным базам данных непосредственно из SQL, не прибегая к помощи внешних скриптов.
\section{Ltree}
\textbf{Лицензия}: Open Source
Ltree~-- расширение, которое позволяет хранить древовидные структуры в виде меток, а также предоставляет широкие возможности поиска по ним. Реализация алгоритма \href{http://en.wikipedia.org/wiki/Materialized\_path}{Materialized Path} (достаточно быстрый как на запись, так и на чтение).
\section{Заключение}
Расширения помогают улучшить работу PostgreSQL в решении специфических проблем. Расширяемость PostgreSQL позволяет создавать собственные расширения,
или же наоборот, не нагружать СУБД лишним, не требуемым функционалом.