F.1. adminpack — набор инструментов поддержки pgAdmin#

F.1. adminpack — набор инструментов поддержки pgAdmin

F.1. adminpack — набор инструментов поддержки pgAdmin #

adminpack предоставляет ряд вспомогательных функций, которые pgAdmin и другие инструменты администрирования и управления могут использовать для предоставления дополнительной функциональности, такой как удаленное управление файлами журналов сервера. Использование всех этих функций по умолчанию разрешено только суперпользователям базы данных, но может быть разрешено другим пользователям с помощью команды GRANT.

Все функции, показанные в Таблица F.1, обеспечивают запись файлов на машине, на которой размещен сервер. (См. также функции в Таблица 9.101, которые обеспечивают только чтение). Можно получить доступ только к файлам внутри каталога кластера базы данных, если пользователь является суперпользователем или имеет привилегии одной из ролей pg_read_server_files или pg_write_server_files, соответствующих функции, но допустимы как относительные, так и абсолютные пути.

Таблица F.1. 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), чтобы использовать эту функцию.