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

- 151 -

 

значение

 

 

 

 

 

 

 

 

a IS NOT DISTINCT FROM b

Равно,

при

этом

NULL

 

воспринимается

как

обычное

 

значение

 

 

 

Обратим внимание, что в условных выражениях можно использовать круглые скобки для изменения естественного приоритета при выполнении операций сравнения:

university=> SELECT * FROM students

WHERE (stgroup = '342' OR stgroup='344') AND sex='м' AND

gpa BETWEEN

4.0 AND 4.5;

 

 

 

 

 

student_id

| family

|

name

| stgroup

| gpa

| sex

------------

+---------

+

--------

+

---------

+

------

+-----

2356

| Чертков

| Максим |

344

|

4.31

| м

(1 row)

 

 

 

 

 

 

 

 

4.5. Клиентские приложения PostgreSQL

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

4.5.1. clusterdb

сlusterdb - это приложение для повторной кластеризации таблиц базы данных PostgreSQL. Утилита находит ранее кластеризованные таблицы и проводит операцию на основании последнего использованного индекса.

clusterdb — это обёртка для SQL-команды CLUSTER.

4.5.2. createdb

сreatedb создаёт базу данных PostgreSQL. Чаще всего пользователь, выполняющий эту команду, назначается владельцем создаваемой базы данных.

сreatedb - это обёртка для SQL-команды CREATE DATABASE.

4.5.3. createuser

createuser создаёт нового пользователя PostgreSQL или роль. Лишь суперпользователь и пользователи с привилегией CREATEROLE могут создавать новые роли.

4.5.4. dropdb

dropdb удаляет ранее созданную базу данных PostgreSQL и должна выполняться от имени суперпользователя или её владельца.

- 152 -

4.5.5. dropuser

dropuser удаляет ранее созданного пользователя PostgreSQL. Лишь суперпользователь или пользователь с привилегией CREATEROLE могут удалять пользователей PostgreSQL. Необходимо быть суперпользователем, чтобы удалить учётную запись другого суперпользователя.

4.5.6. ecpg

ecpg — это встроенный SQL препроцессор для программ, написанных на языке C.

ecpg преобразует каждый файл, переданный в параметрах, в соответствующий файл на C.

4.5.7. pg_basebackup

pg_basebackup предназначен для создания резервных копий работающего кластера баз данных PostgreSQL. Полученные копии могут использоваться для обеих стратегий восстановления — на заданный момент в прошлом и в качестве отправной точки для ведомого сервера при реализации трансляции файлов или потоковой репликации.

4.5.8. pgbench

pgbench — это простая программа для запуска тестов производительности PostgreSQL. Она многократно выполняет одну последовательность команд, возможно в параллельных сеансах базы данных, а затем вычисляет среднюю скорость транзакций (число транзакций в секунду).

4.5.9. pg_config

Утилита pg_config выводит параметры конфигурации текущей установленной версии PostgreSQL.

4.5.10. pg_dump

pg_dump — это программа для создания резервных копий базы данных PostgreSQL. Она создаёт целостные копии, даже если база параллельно используется. Программа pg_dump не препятствует доступу других пользователей к базе данных (ни для чтения, ни для записи).

Программа pg_dump выгружает только одну базу данных. Чтобы выгрузить весь кластер или сохранить глобальные объекты,

- 153 -

относящиеся ко всем базам в кластере, например роли и табличные пространства, воспользуйтесь программой pg_dumpall.

4.5.11. pg_dumpall

Утилита pg_dumpall предназначена для записи («выгрузки») всех баз данных кластера PostgreSQL в один файл в формате скрипта. Этот файл содержит команды SQL, так что, передав его на вход psql, можно восстановить все базы данных. Для формирования этого файла вызывается pg_dump для каждой базы данных в кластере. pg_dumpall также выгружает глобальные объекты, общие для всех баз данных, то есть роли и табличные пространства.

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

4.5.12. pg_isready

Утилита pg_isready предназначена для проверки соединения с сервером баз данных PostgreSQL. Результат проверки передаётся в коде завершения.

4.5.13. pg_receivewal

Утилита pg_receivewal предназначена для приёма журнала предзаписи от работающего кластера PostgreSQL. Журнал предзаписи передаётся по протоколу потоковой репликации и записывается в локальный каталог. Затем этот каталог можно использовать в качестве архива для восстановления состояния на момент времени.

4.5.14. pg_restore

Утилита pg_restore предназначена для восстановления базы данных PostgreSQL из архива, созданного командой pg_dump в любом из нетекстовых форматов. Она выполняет команды, необходимые для восстановления того состояния базы данных, в котором база была сохранена.

Утилита pg_restore может работать в двух режимах. Если указывается имя базы данных, pg_restore подключается к этой базе данных и восстанавливает содержимое архива непосредственно в неё. В противном случае создаётся SQL-скрипт с командами, необходимыми для пересоздания базы данных, который затем выводится в файл или в стандартное устройство вывода.

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