L'adminpack fournit un certain nombre de fonctions de
support que pgAdmin ou d'autres outils de gestion
et d'administration peuvent utiliser pour fournir des fonctionnalités
supplémentaires, comme la gestion à distance de journaux applicatifs.
L'utilisation de toutes ces fonctions est seulement autorisée aux
super-utilisateurs par défaut mais peut être autorisée à d'autres
utilisateurs en utilisant la commande GRANT.
Les fonctions affichées dans Tableau F.1 fournissent des accès en écriture aux fichiers de la machine hébergeant le serveur. (Voir aussi les fonctions dans Tableau 9.97, qui fournissent des accès en lecture seule.) Seuls les fichiers du répertoire principal de l'instance sont accessibles, sauf si l'utilisateur a l'attribut SUPERUSER ou fait partie des rôles pg_read_server_files ou pg_write_server_files, suivant la fonction. Les chemins relatifs et absolus sont permis.
Tableau F.1. Fonctions de adminpack
Fonction Description |
|---|
Écrit dans un fichier |
Vide un fichier ou un répertoire sur disque. |
Renomme un fichier |
Supprime un fichier. |
Liste les fichiers de trace du répertoire précisé par |
pg_file_write écrit les données indiquées par le
paramètre data dans le fichier indiqué par le
paramètre filename. Si le paramètre
append vaut false, le fichier ne doit pas déjà
exister. S'il vaut true, le fichier peut déjà exister et les données y
seront ajoutées. Renvoit le nombre d'octets écrits.
pg_file_sync synchronise sur disque le fichier ou le
répertoire indiqué d'après son filename. Une erreur
est renvoyée en cas d'échec (par exemple si le fichier indiqué n'est pas
présent). Notez que data_sync_retry n'a pas d'effet
sur cette fonction, et de ce fait, une erreur de niveau PANIC ne sera pas
renvoyée même en cas d'échec pour synchroniser les fichiers de la base.
pg_file_rename renomme un fichier. Si
archivename est omis ou vaut NULL, il renomme
simplement oldname en newname
(qui ne doit pas déjà exister). Si archivename est
fourni, il renomme tout d'abord newname en
archivename (qui ne doit pas déjà exister), puis il
renomme oldname en newname. En
cas d'échec à la deuxième étape, il essaiera de renommer
archivename en newname avant
de renvoyer l'erreur. Renvoit true en cas de succès, false si les fichiers
sources ne sont pas présents ou modifiables. Dans tous les autres cas, elle
renvoit une erreur.
pg_file_unlink supprime le fichier indiqué. Renvoit
true en cas de succès, false si le fichier spécifié n'est pas présent ou si
l'appel à unlink() échoue. Dans tous les autres cas,
elle renvoit une erreur.
pg_logdir_ls renvoit l'horodatage et le chemin de tous
les journaux applicatifs stockés dans le répertoire indiqué par le
paramètre log_directory. Le paramètre log_filename doit avoir sa configuration par défaut
(postgresql-%Y-%m-%d_%H%M%S.log) pour utiliser cette
fonction.