Table des matières
crosstab
et autres)SYSTEM_ROWS
pour
TABLESAMPLE
SYSTEM_TIME
pour
TABLESAMPLE
Cette annexe et la suivante contiennent des informations sur les composants
optionnels trouvés dans le répertoire contrib
de la
distribution
PostgreSQL. Ce sont des outils de portage,
des outils d'analyse, des fonctionnalités supplémentaires qui ne font pas
partie du système PostgreSQL de base. Ils sont séparés principalement parce qu'ils
s'adressent à une audience limitée ou sont trop expérimentaux pour faire
partie de la distribution de base. Cela ne concerne en rien leur utilité.
Cette annexe couvre les extensions et quelques autres bibliothèques du serveur
disponibles dans le répertoire contrib
du répertoire des
sources.Annexe G couvre les programmes outils.
Lors de la construction à partir des sources de la distribution, ces extensions optionnelles ne sont pas construites automatiquement, sauf si vous utilisez la cible « world » (voir Étape 2). Ils peuvent être construits et installés en exécutant :
make
make install
dans le répertoire contrib
d'un répertoire des sources
configuré ; ou pour ne construire et installer qu'un seul module
sélectionné, on exécute ces commandes dans le sous-répertoire du module. Beaucoup
de ces modules ont des tests de régression qui peuvent être exécutés
en lançant la commande :
make check
avant l'installation ou
make installcheck
une fois que le serveur PostgreSQL est démarré.
Lorsqu'une version packagée de PostgreSQL est
utilisée, ces composants sont typiquement
disponibles dans un package séparé, comme par exemple
postgresql-contrib
.
Beaucoup de ces composants fournissent de nouvelles fonctions, de nouveaux opérateurs ou types utilisateurs, rassemblés en des extensions. Pour pouvoir utiliser une de ces extensions, après avoir installé le code, il faut enregistrer les nouveaux objets SQL dans la base de données. Cela se fait en exécutant la commande CREATE EXTENSION. Dans une base de données neuve, vous pouvez simplement faire :
CREATE EXTENSION nom_extension
;
Cette commande enregistre
de nouveaux objets SQL dans la base de données courante, donc vous avez
besoin d'exécuter cette commande dans chaque base de données où vous
souhaitez l'utiliser. Autrement, exécutez-la dans la base de données
template1
pour que l'extension soit copiée dans les bases
de données créées après.
Pour toutes ces extensions, la commande CREATE EXTENSION
doit être exécuté
par un superutilisateur, sauf si l'extension est considérée
« trusted » (de confiance). Les extensions de confiance peuvent être
exécutées par un utilisateur qui a l'attribut CREATE
sur
la base de données courante. Les extensions de confiance sont identifiées comme
tels dans les sections qui suivent. Généralement, les extensions de confiance
sont des modules qui ne peuvent pas fournir d'accès à des fonctionnalité
hors de la base.
Les extensions suivants sont de confiance dans une installation par défaut :
btree_gin | fuzzystrmatch | ltree | tcn |
btree_gist | hstore | pgcrypto | tsm_system_rows |
citext | intarray | pg_trgm | tsm_system_time |
cube | isn | seg | unaccent |
dict_int | lo | tablefunc | uuid-ossp |
Beaucoup d'extensions vous permettent d'installer leurs objets dans le schéma
de votre choix. Pour cela, ajoutez SCHEMA
à la commande nom_schéma
CREATE
EXTENSION
. Par défaut, les objets seront placés dans le schéma
de création par défaut, qui est par défaut public
.
Néanmoins, notez que certains de ces composants ne sont pas des « extensions » dans ce sens, mais sont chargés sur le serveur d'une autre façon, par le biais de shared_preload_libraries. Voir la documentation de chaque composant pour les détails.