F.1. adminpack#

F.1. adminpack

F.1. adminpack

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

Все функции, показанные в Таблица F.1, обеспечивают запись файлов на машине, на которой размещен сервер. (См. также функции в Таблица 9.99, которые обеспечивают только чтение). Можно получить доступ только к файлам внутри каталога кластера базы данных, если пользователь является суперпользователем или имеет привилегии одной из ролей 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), чтобы использовать эту функцию.