Перейти к основному содержимому

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) для использования этой функции.