Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретические основы реляционных баз данных. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
936 Кб
Скачать

- 156 -

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

4.6.9. pg_test_timing

Программа pg_test_timing позволяет оценить издержки замера времени в вашей системе и убедиться в том, что системное время никогда не идёт назад.

4.6.10. pg_upgrade

Программа pg_upgrade (ранее называвшаяся pg_migrator) позволяет обновить данные в каталоге базы данных PostgreSQL до последней основной версии PostgreSQL без операции выгрузки/восстановления данных.

4.6.11. pg_waldump

Программа pg_waldump показывает содержимое журнала предзаписи (WAL) и прежде всего полезна для целей отладки и обучения.

4.6.12. postgres

рostgres - это сервер баз данных PostgreSQL. Для получения доступа к базе данных клиент устанавливает соединение (локально или по сети) с сервером postgres. После установки соединения сервер postgres поднимает выделенный процесс для его обслуживания.

Один экземпляр postgres всегда управляет данными ровно одного кластера баз данных. Кластер — это коллекция баз данных, хранящихся в файловой системе в определённом размещении («области данных»).

4.6.13. postmaster

рostmaster - это устаревшее название postgres.

4.7. Серверное программирование

В заключение остановимся на вопросах программирования на стороне сервера PostgreSQL в самых общих чертах.

- 157 -

4.7.1. Расширение SQL

Сам по себе язык SQL не является языком программирования, а только языком запросов, который лишен возможности организации циклов и ветвлений. В связи с этим для PostgreSQL характерны такие объекты базы данных, как процедуры, функции и триггеры.

Функции создаются командой CREATE FUNCTION, а процедуры определяются командой CREATE PROCEDURE, процедуры в отличие от функций не возвращают значения, и некоторые атрибуты функций неприменимы к процедурам.

Любой набор команд на языке SQL можно скомпоновать вместе и обозначить как функцию.

4.7.2. Триггеры

Триггер является указанием, что база данных должна автоматически выполнить заданную функцию, всякий раз, когда выполнен определённый тип операции. Триггеры можно использовать

стаблицами (секционированными и обычными), с представлениями и

свнешними таблицами.

Для обычных и сторонних таблиц можно определять триггеры, которые будут срабатывать до или после любой из команд INSERT, UPDATE или DELETE; либо один раз для каждой модифицируемой строки, либо один раз для оператора SQL. Триггеры на UPDATE можно установить так, чтобы они срабатывали, только когда в предложении SET оператора UPDATE упоминаются определённые столбцы.

Для представлений триггеры могут быть определены для выполнения вместо операций INSERT, UPDATE и DELETE. Такие триггеры INSTEAD OF вызываются единожды для каждой строки, которая должна быть изменена в этом представлении.

PL/pgSQL - это процедурный язык для СУБД PostgreSQL. Целью проектирования PL/pgSQL было создание загружаемого процедурного языка, который:

используется для создания функций, процедур и триггеров, добавляет управляющие структуры к языку SQL,

может выполнять сложные вычисления, наследует все пользовательские типы, функции, процедуры и

операторы, может быть определён как доверенный язык,

прост в использовании.

Функции PL/pgSQL могут использоваться везде, где допустимы встроенные функции.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]