adminpack — набор инструментов поддержки pgAdmin
Модуль adminpack предоставляет ряд вспомогательных функций, которыми могут
пользоваться pgAdmin и другие средства администрирования и управления для
обеспечения дополнительной функциональности, например, для удаленного управления
файлами журналов сервера. По умолчанию использовать все эти функции разрешено
только суперпользователям базы данных, но такое право можно дать и другим
пользователям с помощью команды GRANT.
Функции, приведенные ниже, предоставляют возможность записи в файлы на компьютере, где работает сервер. (См. также функции в подразделе Функции доступа к типовым файлам, которые открывают доступ только на чтение.) Доступ предоставляется только к файлам в каталоге кластера баз данных, если только это не суперпользователь или пользователь с правами ролей pg_read_server_files или pg_write_server_files (в зависимости от применимости для функции). Однако путь при этом допустим как относительный, так и абсолютный.
pg_catalog.pg_file_write ( имя_файла text, данные text, append boolean ) → bigint
Функция pg_file_write записывает указанные данные в текстовый файл имя_файла. Если append равен false, этот файл не должен существовать. Если же append равен true, существование этого файла допускается, и в этом случае данные будут дописаны в него. Возвращает число записанных байтов.
pg_catalog.pg_file_sync ( имя_файла text ) → void
Функция pg_file_sync синхронизирует с файловой системой файл или каталог имя_файла. В случае неудачи (например, если указанный файл отсутствует) выдается ошибка. Обратите внимание, что параметр data_sync_retry на эту функцию не влияет, и поэтому даже при сбое во время сброса файлов базы данных на диск не будет выдана ошибка уровня PANIC.
pg_catalog.pg_file_rename ( старое_имя text, новое_имя text [, архивное_имя text ] ) → boolean
Функция pg_file_rename переименовывает файл. Если параметр архивное_имя опущен или равен NULL, она просто переименовывает файл старое_имя в новое_имя (файл с таким именем не должен существовать). Если же параметр архивное_имя задан, она сначала переименовывает новое_имя в архивное_имя (файл с таким именем не должен существовать), а затем переименовывает старое_имя в новое_имя. В случае сбоя на втором этапе переименовывания она попытается переименовать архивное_имя обратно в новое_имя, прежде чем выдать ошибку. Возвращает true в случае успеха и false, если исходные файлы отсутствуют или их невозможно изменить; в остальных случаях выдаются ошибки.
pg_catalog.pg_file_unlink ( имя_файла text ) → boolean
Функция pg_file_unlink удаляет заданный файл. Возвращает true в случае успеха и false, если заданный файл отсутствует либо при сбое в вызове unlink(); в остальных случаях выдаются ошибки.
pg_catalog.pg_logdir_ls () → setof record
Функция pg_logdir_ls возвращает начальные временные метки и пути всех файлов журнала в каталоге, заданном в log_directory. Чтобы эта функция работала, параметр log_filename должен иметь значение по умолчанию (qhb-%Y-%m-%d_%H%M%S.log).