Часть V. Программирование сервера#

Часть V. Программирование сервера

Часть V. Программирование сервера

Эта часть посвящена расширению функциональности сервера с помощью пользовательских функций, типов данных, триггеров и т. д. Это продвинутые темы, к которым, вероятно, следует обращаться только после того, как будет понятна вся другая пользовательская документация о Tantor BE. В последующих главах этой части описываются языки программирования на стороне сервера, доступные в дистрибутиве Tantor BE, а также общие вопросы, касающиеся языков программирования на стороне сервера. Необходимо прочитать по крайней мере ранние разделы Глава 35 (о функциях), прежде чем погружаться в материал о языках программирования на стороне сервера.

Оглавление

35. Расширение SQL
35.1. Как работает расширяемость
35.2. Типовая система Tantor BE
35.3. Пользовательские функции
35.4. Пользовательские процедуры
35.5. Функции языка запросов (SQL)
35.6. Перегрузка функций
35.7. Категории волатильности функций
35.8. Функции процедурного языка
35.9. Внутренние функции
35.10. Информация об оптимизации функций
35.11. Пользовательские агрегаты
35.12. Пользовательские типы данных
35.13. Пользовательские операторы
35.14. Информация об оптимизации операторов
35.15. Интерфейсные расширения для индексов
35.16. Упаковка связанных объектов в расширение
35.17. Инфраструктура создания расширений
36. Триггеры
36.1. Обзор поведения триггеров
36.2. Видимость изменений данных
36.3. Создание функций триггеров на языке C
36.4. Полный пример триггера
37. Триггеры событий
37.1. Обзор поведения триггеров событий
37.2. Матрица срабатывания триггеров событий
37.3. Написание функций триггеров событий на C
37.4. Полный пример триггера события
37.5. Пример триггера события перезаписи таблицы
38. Система правил
38.1. Дерево запросов
38.2. Представления и система правил
38.3. Материализованные представления
38.4. Правила для INSERT, UPDATE и DELETE
38.5. Правила и привилегии
38.6. Правила и статус команд
38.7. Правила против триггеров
39. Процедурные языки
39.1. Установка процедурных языков
40. PL/pgSQLSQL Процедурный Язык
40.1. Обзор
40.2. Структура PL/pgSQL
40.3. Объявления
40.4. Выражения
40.5. Основные операторы
40.6. Структуры управления
40.7. Курсоры
40.8. Управление транзакциями
40.9. Ошибки и сообщения
40.10. Функции триггеров
40.11. PL/pgSQL под капотом
40.12. Советы по разработке в PL/pgSQL
40.13. Перенос из PL/SQL Oracle
41. PL/Tcl — Tcl Процедурный Язык
41.1. Обзор
41.2. Функции и аргументы PL/Tcl
41.3. Значения данных в PL/Tcl
41.4. Глобальные данные в PL/Tcl
41.5. Доступ к базе данных из PL/Tcl
41.6. Функции триггеров в PL/Tcl
41.7. Функции триггеров событий в PL/Tcl
41.8. Обработка ошибок в PL/Tcl
41.9. Явные подтранзакции в PL/Tcl
41.10. Управление транзакциями
41.11. Конфигурация PL/Tcl
41.12. Имена процедур Tcl
42. PL/Perl — Perl Процедурный Язык
42.1. Функции PL/Perl и аргументы
42.2. Значения данных в PL/Perl
42.3. Встроенные функции
42.4. Глобальные значения в PL/Perl
42.5. Доверенный и недоверенный PL/Perl
42.6. Триггеры PL/Perl
42.7. Событийные триггеры PL/Perl
42.8. Под капотом PL/Perl
43. PL/Python — Язык программирования Python для процедурного программирования
43.1. Функции PL/Python
43.2. Значения данных
43.3. Обмен данными
43.4. Анонимные блоки кода
43.5. Функции триггеров
43.6. Доступ к базе данных
43.7. Явные подтранзакции
43.8. Управление транзакциями
43.9. Утилитарные функции
43.10. Python 2 и Python 3
43.11. Переменные среды
44. Интерфейс программирования сервера
44.1. Функции интерфейса
44.2. Функции поддержки интерфейса
44.3. Управление памятью
44.4. Управление транзакциями
44.5. Видимость изменений данных
44.6. Примеры
45. Фоновые рабочие процессы
46. Логическое декодирование
46.1. Примеры логического декодирования
46.2. Концепции логического декодирования
46.3. Интерфейс протокола потоковой репликации
46.4. Интерфейс логического декодирования SQL
46.5. Системные каталоги, связанные с логическим декодированием
46.6. Выходные плагины логического декодирования
46.7. Писатели вывода логического декодирования
46.8. Поддержка синхронной репликации для логического декодирования
46.9. Потоковая передача больших транзакций для логического декодирования
46.10. Поддержка двухфазного коммита для логического декодирования
47. Отслеживание прогресса репликации
48. Модули архивации
48.1. Функции инициализации
48.2. Обратные вызовы модуля архива