F.1. adminpack
Модуль adminpack
предоставляет несколько вспомогательных функций, которыми могут пользоваться pgAdmin и другие средства администрирования и управления базами данных, например для удалённого управления файлами журналов сервера. По умолчанию использовать все эти функции разрешено только суперпользователям, но такое право можно дать и другим пользователям с помощью команды GRANT
.
Функции, приведённые в Таблице F.1, предоставляют возможность записи в файлы на компьютере, где работает сервер. (См. также функции в Таблице 9.103, которые открывают доступ только на чтение.) Они позволяют обычным пользователям обращаться только к файлам в каталоге кластера баз данных, но не ограничивают суперпользователей и пользователей с правами ролей pg_read_server_files
или pg_write_server_files
(в зависимости от рода функции). При этом путь может задаваться и как абсолютный, и как относительный.
Таблица F.1. Функции модуля adminpack
Функция Описание |
---|
Записывает или дописывает данные в текстовый файл. |
Сбрасывает файл или каталог на диск. |
Переименовывает файл. |
Удаляет файл. |
Выдаёт список файлов журналов в каталоге |
Функция pg_file_write
записывает данные (data
) в файл с именем filename
. Если флаг append
сброшен, этот файл не должен существовать. Если же флаг append
установлен, существование файла допускается и в этом случае данные будут дописаны в него. Возвращает число записанных байт.
Функция pg_file_sync
синхронизирует с файловой системой файл или каталог с именем filename
. В случае неудачи (например, если указанный файл не существует) выдаётся ошибка. Заметьте, что значение data_sync_retry на эту функцию не влияет, и поэтому даже в случае отказа при сбросе файлов базы не будет выдана ошибка уровня PANIC.
Функция pg_file_rename
переименовывает файл. Если параметр archivename
опущен или равен NULL, она просто переименовывает файл oldname
в newname
(файл с новым именем не должен существовать). Если параметр archivename
задан, она сначала переименовывает newname
в archivename
(такой файл не должен существовать), а затем переименовывает oldname
в newname
. В случае ошибки на втором этапе переименования она попытается переименовать archivename
назад в newname
, прежде чем выдать ошибку. Возвращает true в случае успеха и false, если исходные файлы отсутствуют или их невозможно изменить; в других случаях выдаются ошибки.
Функция pg_file_unlink
удаляет заданный файл. Возвращает true в случае успеха, false в случае отсутствия указанного файла либо при сбое в вызове unlink()
; в других случаях выдаются ошибки.
Функция pg_logdir_ls
возвращает время создания и пути всех файлов журналов в каталоге log_directory. Чтобы эта функция работала, параметр log_filename должен иметь значение по умолчанию (postgresql-%Y-%m-%d_%H%M%S.log
).