F.1. adminpack
ÐодÑÐ»Ñ adminpack пÑедоÑÑавлÑÐµÑ Ð½ÐµÑколÑко вÑпомогаÑелÑнÑÑ
ÑÑнкÑий, коÑоÑÑми могÑÑ Ð¿Ð¾Ð»ÑзоваÑÑÑÑ pgAdmin и дÑÑгие ÑÑедÑÑва админиÑÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ даннÑÑ
, напÑÐ¸Ð¼ÐµÑ Ð´Ð»Ñ ÑдалÑнного ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñайлами жÑÑналов ÑеÑвеÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзоваÑÑ Ð²Ñе ÑÑи ÑÑнкÑии ÑазÑеÑено ÑолÑко ÑÑпеÑполÑзоваÑелÑм, но Ñакое пÑаво можно даÑÑ Ð¸ дÑÑгим полÑзоваÑелÑм Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ GRANT.
ФÑнкÑии, пÑиведÑннÑе в ТаблиÑе F.1, пÑедоÑÑавлÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð·Ð°Ð¿Ð¸Ñи в ÑÐ°Ð¹Ð»Ñ Ð½Ð° компÑÑÑеÑе, где ÑабоÑÐ°ÐµÑ ÑеÑвеÑ. (См. Ñакже ÑÑнкÑии в ТаблиÑе 9.94, коÑоÑÑе оÑкÑÑваÑÑ Ð´Ð¾ÑÑÑп ÑолÑко на ÑÑение.) Ðни позволÑÑÑ Ð¾Ð±ÑÑнÑм полÑзоваÑелÑм обÑаÑаÑÑÑÑ ÑолÑко к Ñайлам в каÑалоге клаÑÑеÑа баз даннÑÑ , но не огÑаниÑиваÑÑ ÑÑпеÑполÑзоваÑелей и Ñленов Ñолей 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_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 ÑбÑоÑен, ÑÑÐ¾Ñ Ñайл не должен ÑÑÑеÑÑвоваÑÑ. ÐÑли же Ñлаг append ÑÑÑановлен, ÑÑÑеÑÑвование Ñайла допÑÑкаеÑÑÑ Ð¸ в ÑÑом ÑлÑÑае даннÑе бÑдÑÑ Ð´Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð² него. ÐозвÑаÑÐ°ÐµÑ ÑиÑло запиÑаннÑÑ
байÑ.
ФÑнкÑÐ¸Ñ 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).