|
| 1 | +<!-- doc/src/xml/adminpack.xml--> |
| 2 | + |
| 3 | +<sect1id="adminpack"xreflabel="adminpack"> |
| 4 | + <title>adminpack</title> |
| 5 | + |
| 6 | + <indextermzone="adminpack"><primary>adminpack</primary></indexterm> |
| 7 | + |
| 8 | + <para>Модуль <filename>adminpack</filename> предоставляет несколько вспомогательных функций, которыми могут пользоваться <application>pgAdmin</application> и другие средства администрирования и управления базами данных, например, для удалённого управления файлами журналов сервера. Использовать все эти функции разрешено только суперпользователям.</para> |
| 9 | + |
| 10 | + <para>Функции, приведённые в <xrefremap="6"linkend="functions-adminpack-table"/>, дают доступ на запись к файлам на компьютере, где работает сервер. (См. также функции в <xrefremap="6"linkend="functions-admin-genfile-table"/>, которые дают доступ только на чтение.) С их помощью можно обращаться только к файлам в каталоге кластера баз данных, но путь может задаваться и как относительный, и как абсолютный.</para> |
| 11 | + |
| 12 | + <tableid="functions-adminpack-table"> |
| 13 | + <title>Функции модуля <filename>adminpack</filename></title> |
| 14 | + <tgroupcols="3"> |
| 15 | + <thead> |
| 16 | + <row><entry>Имя</entry> <entry>Тип результата</entry> <entry>Описание</entry> |
| 17 | + </row> |
| 18 | + </thead> |
| 19 | + |
| 20 | + <tbody> |
| 21 | + <row> |
| 22 | + <entry><function>pg_catalog.pg_file_write(filename text, data text, append boolean)</function></entry> |
| 23 | + <entry><type>bigint</type></entry> |
| 24 | + <entry>Записать или дописать в текстовый файл</entry> |
| 25 | + </row> |
| 26 | + <row> |
| 27 | + <entry><function>pg_catalog.pg_file_rename(oldname text, newname text <optional>, archivename text</optional>)</function></entry> |
| 28 | + <entry><type>boolean</type></entry> |
| 29 | + <entry>Переименовать файл</entry> |
| 30 | + </row> |
| 31 | + <row> |
| 32 | + <entry><function>pg_catalog.pg_file_unlink(filename text)</function></entry> |
| 33 | + <entry><type>boolean</type></entry> |
| 34 | + <entry>Удалить файл</entry> |
| 35 | + </row> |
| 36 | + <row> |
| 37 | + <entry><function>pg_catalog.pg_logdir_ls()</function></entry> |
| 38 | + <entry><type>setof record</type></entry> |
| 39 | + <entry>Получить список файлов журналов в каталоге <varname>log_directory</varname></entry> |
| 40 | + </row> |
| 41 | + </tbody> |
| 42 | + </tgroup> |
| 43 | + </table> |
| 44 | + |
| 45 | + <indexterm><primary>pg_file_write</primary></indexterm> |
| 46 | + <para>Функция <function>pg_file_write</function> записывает данные (<parameter>data</parameter>) в файл с именем <parameter>filename</parameter>. Если флаг <parameter>append</parameter> сброшен, этот файл не должен существовать. Если же флаг <parameter>append</parameter> установлен, существование файла допускается и в этом случае данные будут дописаны в него. Возвращает число записанных байтов.</para> |
| 47 | + |
| 48 | + <indexterm><primary>pg_file_rename</primary></indexterm> |
| 49 | + <para>Функция <function>pg_file_rename</function> переименовывает файл. Если параметр <parameter>archivename</parameter> опущен или равен NULL, она просто переименовывает файл <parameter>oldname</parameter> в <parameter>newname</parameter> (файл с новым именем не должен существовать). Если параметр <parameter>archivename</parameter> задан, она сначала переименовывает <parameter>newname</parameter> в <parameter>archivename</parameter> (такой файл не должен существовать), а затем переименовывает <parameter>oldname</parameter> в <parameter>newname</parameter>. В случае ошибки на втором этапе переименования она попытается переименовать <parameter>archivename</parameter> назад в <parameter>newname</parameter>, прежде чем выдать ошибку. Возвращает true в случае успеха и false, если исходные файлы отсутствуют или их невозможно изменить; в других случаях выдаются ошибки.</para> |
| 50 | + |
| 51 | + <indexterm><primary>pg_file_unlink</primary></indexterm> |
| 52 | + <para>Функция <function>pg_file_unlink</function> удаляет заданный файл. Возвращает true в случае успеха, false в случае отсутствия указанного файла либо при сбое в вызове <function>unlink()</function>; в других случаях выдаются ошибки.</para> |
| 53 | + |
| 54 | + <indexterm><primary>pg_logdir_ls</primary></indexterm> |
| 55 | + <para>Функция <function>pg_logdir_ls</function> возвращает время создания и пути всех файлов журналов в каталоге <xreflinkend="guc-log-directory"/>. Чтобы эта функция работала, параметр <xreflinkend="guc-log-filename"/> должен иметь значение по умолчанию (<literal>postgresql-%Y-%m-%d_%H%M%S.log</literal>).</para> |
| 56 | + |
| 57 | + <para>Функции, перечисленные в <xrefremap="6"linkend="functions-adminpack-deprecated-table"/>, являются устаревшими и не должны использоваться в новых приложениях; вместо них следует использовать функции, описанные в <xrefremap="6"linkend="functions-admin-signal-table"/> и <xrefremap="6"linkend="functions-admin-genfile-table"/>. Эти функции включены в <filename>adminpack</filename> только для совместимости со старыми версиями <application>pgAdmin</application>.</para> |
| 58 | + |
| 59 | + <tableid="functions-adminpack-deprecated-table"> |
| 60 | + <title>Устаревшие функции модуля <filename>adminpack</filename></title> |
| 61 | + <tgroupcols="3"> |
| 62 | + <thead> |
| 63 | + <row><entry>Имя</entry> <entry>Тип результата</entry> <entry>Описание</entry> |
| 64 | + </row> |
| 65 | + </thead> |
| 66 | + |
| 67 | + <tbody> |
| 68 | + <row> |
| 69 | + <entry><function>pg_catalog.pg_file_read(filename text, offset bigint, nbytes bigint)</function></entry> |
| 70 | + <entry><type>text</type></entry> |
| 71 | + <entry>Альтернативный вариант функции <function>pg_read_file()</function></entry> |
| 72 | + </row> |
| 73 | + <row> |
| 74 | + <entry><function>pg_catalog.pg_file_length(filename text)</function></entry> |
| 75 | + <entry><type>bigint</type></entry> |
| 76 | + <entry>Выдаёт то же значение, что содержится в столбце <structfield>size</structfield> результата <function>pg_stat_file()</function></entry> |
| 77 | + </row> |
| 78 | + <row> |
| 79 | + <entry><function>pg_catalog.pg_logfile_rotate()</function></entry> |
| 80 | + <entry><type>integer</type></entry> |
| 81 | + <entry>Альтернативный вариант <function>pg_rotate_logfile()</function>, возвращает целое (0 или 1), а не булевское значение</entry> |
| 82 | + </row> |
| 83 | + </tbody> |
| 84 | + </tgroup> |
| 85 | + </table> |
| 86 | + |
| 87 | +</sect1> |