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

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

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

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

Оглавление

34. Расширение SQL
34.1. Как работает расширяемость
34.2. Типовая система Tantor SE-1C
34.3. Пользовательские функции
34.4. Пользовательские процедуры
34.5. Функции языка запросов (SQL)
34.6. Перегрузка функций
34.7. Категории волатильности функций
34.8. Функции процедурного языка
34.9. Внутренние функции
34.10. Информация об оптимизации функций
34.11. Пользовательские агрегаты
34.12. Пользовательские типы данных
34.13. Пользовательские операторы
34.14. Информация об оптимизации операторов
34.15. Интерфейсные расширения для индексов
34.16. Упаковка связанных объектов в расширение
34.17. Инфраструктура создания расширений
35. Триггеры
35.1. Обзор поведения триггеров
35.2. Видимость изменений данных
35.3. Создание функций триггеров на языке C
35.4. Полный пример триггера
36. Триггеры событий
36.1. Обзор поведения триггеров событий
36.2. Матрица срабатывания триггеров событий
36.3. Написание функций триггеров событий на C
36.4. Полный пример триггера события
36.5. Пример триггера события перезаписи таблицы
36.6. Пример триггера события входа в базу данных
37. Система правил
37.1. Дерево запросов
37.2. Представления и система правил
37.3. Материализованные представления
37.4. Правила для INSERT, UPDATE и DELETE
37.5. Правила и привилегии
37.6. Правила и статус команд
37.7. Правила против триггеров
38. Процедурные языки
38.1. Установка процедурных языков
39. PL/pgSQLSQL Процедурный Язык
39.1. Обзор
39.2. Структура PL/pgSQL
39.3. Объявления
39.4. Выражения
39.5. Основные операторы
39.6. Структуры управления
39.7. Курсоры
39.8. Управление транзакциями
39.9. Ошибки и сообщения
39.10. Функции триггеров
39.11. PL/pgSQL под капотом
39.12. Советы по разработке в PL/pgSQL
39.13. Перенос из PL/SQL Oracle
40. PL/Tcl — Tcl Процедурный Язык
40.1. Обзор
40.2. Функции и аргументы PL/Tcl
40.3. Значения данных в PL/Tcl
40.4. Глобальные данные в PL/Tcl
40.5. Доступ к базе данных из PL/Tcl
40.6. Функции триггеров в PL/Tcl
40.7. Функции триггеров событий в PL/Tcl
40.8. Обработка ошибок в PL/Tcl
40.9. Явные подтранзакции в PL/Tcl
40.10. Управление транзакциями
40.11. Конфигурация PL/Tcl
40.12. Имена процедур Tcl
41. PL/Perl — Perl Процедурный Язык
41.1. Функции PL/Perl и аргументы
41.2. Значения данных в PL/Perl
41.3. Встроенные функции
41.4. Глобальные значения в PL/Perl
41.5. Доверенный и недоверенный PL/Perl
41.6. Триггеры PL/Perl
41.7. Событийные триггеры PL/Perl
41.8. Под капотом PL/Perl
42. PL/Python — Язык программирования Python для процедурного программирования
42.1. Функции PL/Python
42.2. Значения данных
42.3. Обмен данными
42.4. Анонимные блоки кода
42.5. Функции триггеров
42.6. Доступ к базе данных
42.7. Явные подтранзакции
42.8. Управление транзакциями
42.9. Утилитарные функции
42.10. Python 2 и Python 3
42.11. Переменные среды
43. Интерфейс программирования сервера
43.1. Функции интерфейса
43.2. Функции поддержки интерфейса
43.3. Управление памятью
43.4. Управление транзакциями
43.5. Видимость изменений данных
43.6. Примеры
44. Фоновые рабочие процессы
45. Логическое декодирование
45.1. Примеры логического декодирования
45.2. Концепции логического декодирования
45.3. Интерфейс протокола потоковой репликации
45.4. Интерфейс логического декодирования SQL
45.5. Системные каталоги, связанные с логическим декодированием
45.6. Выходные плагины логического декодирования
45.7. Писатели вывода логического декодирования
45.8. Поддержка синхронной репликации для логического декодирования
45.9. Потоковая передача больших транзакций для логического декодирования
45.10. Поддержка двухфазного коммита для логического декодирования
46. Отслеживание прогресса репликации
47. Модули архивации
47.1. Функции инициализации
47.2. Обратные вызовы модуля архива