adminpack — инструменты администрирования, позволяющие расширить функциональность и упростить процесс управления базой данных
Эта страница переведена при помощи нейросети GigaChat.
adminpack предоставляет ряд функций поддержки, которые могут использовать pgAdmin и другие инструменты администрирования и управления для предоставления дополнительной функциональности, такой как удаленное управление файлами журналов сервера. Использование всех этих функций по умолчанию разрешено только суперпользователю, но может быть разрешено другим пользователям с помощью команды GRANT.
Функции, показанные в таблице Функции adminpack, обеспечивают доступ к записи файлов на машине, на которой размещен сервер. Доступны только файлы внутри каталога кластера баз данных, если пользователь не является суперпользователем или ему предоставлены привилегии одной из ролей pg_read_server_files или pg_write_server_files, что соответствует функции, но допускается использование относительного или абсолютного пути.
Функции adminpack
| Функция | Описание |
|---|---|
pg_catalog.pg_file_write ( filename text, data text, append boolean ) → bigint | Записывает или добавляет данные к текстовому файлу |
pg_catalog.pg_file_sync ( filename text ) → void | Очищает файл или каталог на диске |
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 равно false, этот файл не должен существовать. Если append равно true, существование файла допускается и в этом случае данные будут дописаны в него. Возвращает количество записанных байт.
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) для использования этой функции.