F.1. adminpack
Модуль adminpack
предоставляет несколько вспомогательных функций, которыми могут пользоваться pgAdmin и другие средства администрирования и управления базами данных, например, для удалённого управления файлами журналов сервера. Использовать все эти функции разрешено только суперпользователям.
Функции, приведённые в Таблице F.1, дают доступ на запись к файлам на компьютере, где работает сервер. (См. также функции в Таблице 9.76, которые дают доступ только на чтение.) С их помощью можно обращаться только к файлам в каталоге кластера баз данных, но путь может задаваться и как относительный, и как абсолютный.
Таблица F.1. Функции модуля adminpack
Имя | Тип результата | Описание |
---|---|---|
pg_catalog.pg_file_write(filename text, data text, append boolean) | bigint | Записать или дописать в текстовый файл |
pg_catalog.pg_file_rename(oldname text, newname text [, archivename text]) | boolean | Переименовать файл |
pg_catalog.pg_file_unlink(filename text) | boolean | Удалить файл |
pg_catalog.pg_logdir_ls() | setof record | Получить список файлов журналов в каталоге log_directory |
Функция pg_file_write
записывает данные (data
) в файл с именем filename
. Если флаг append
сброшен, этот файл не должен существовать. Если же флаг append
установлен, существование файла допускается и в этом случае данные будут дописаны в него. Возвращает число записанных байт.
Функция 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
).
Функции, перечисленные в Таблице F.2, являются устаревшими и не должны использоваться в новых приложениях; вместо них следует использовать функции, описанные в Таблице 9.67 и Таблице 9.76. Эти функции включены в adminpack
только для совместимости со старыми версиями pgAdmin.
Таблица F.2. Устаревшие функции модуля adminpack
Имя | Тип результата | Описание |
---|---|---|
pg_catalog.pg_file_read(filename text, offset bigint, nbytes bigint) | text | Альтернативный вариант функции pg_read_file() |
pg_catalog.pg_file_length(filename text) | bigint | Выдаёт то же значение, что содержится в столбце size результата pg_stat_file() |
pg_catalog.pg_logfile_rotate() | integer | Альтернативный вариант pg_rotate_logfile() , возвращает целое (0 или 1), а не логическое значение |