Documentation PostgreSQL 14.22 » Annexes » Modules supplémentaires fournis » adminpack

Précédent | Niveau supérieur | Suivant
Annexe F. Modules supplémentaires fournis | Sommaire | F.2. amcheck

## F.1. adminpack

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
`pg_catalog.pg_file_write` ( `filename` `text`, `data` `text`, `append` `boolean` ) → `bigint` Écrit dans un fichier
`pg_catalog.pg_file_sync` ( `filename` `text` ) → `void` Vide un fichier ou un répertoire sur disque.
`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_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.