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
superutilisateurs 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.94, 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
| Nom | Type en retour | Description |
|---|---|---|
pg_catalog.pg_file_write(filename text, data text, append boolean) | bigint | Écrit dans un fichier |
pg_catalog.pg_file_rename(oldname text, newname text [, archivename text]) | boolean | Renomme un fichier |
pg_catalog.pg_file_unlink(filename text) | boolean | Supprime un fichier |
pg_catalog.pg_logdir_ls() | setof record |
Liste les fichiers de trace du répertoire précisé par log_directory
|
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_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.