PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 12.22 » Annexes » Modules supplémentaires fournis

Annexe F. Modules supplémentaires fournis

Table des matières

F.1. adminpack
F.2. amcheck
F.2.1. Fonctions
F.2.2. Vérification optionnelle heapallindexed
F.2.3. Utiliser amcheck efficacement
F.2.4. Réparer une corruption
F.3. auth_delay
F.3.1. Paramètres de configuration
F.3.2. Auteur
F.4. auto_explain
F.4.1. Paramètres de configuration
F.4.2. Exemple
F.4.3. Auteur
F.5. bloom
F.5.1. Paramètres
F.5.2. Exemples
F.5.3. Interface de la classe d'opérateur
F.5.4. Limitations
F.5.5. Auteurs
F.6. btree_gin
F.6.1. Exemple d'utilisation
F.6.2. Auteurs
F.7. btree_gist
F.7.1. Exemple d'utilisation
F.7.2. Auteurs
F.8. citext
F.8.1. Intérêt
F.8.2. Comment l'utiliser
F.8.3. Comportement des comparaisons de chaînes
F.8.4. Limitations
F.8.5. Auteur
F.9. cube
F.9.1. Syntaxe
F.9.2. Précision
F.9.3. Utilisation
F.9.4. Par défaut
F.9.5. Notes
F.9.6. Crédits
F.9.7. Note de l'auteur
F.10. dblink
dblink_connect — ouvre une connexion persistante vers une base de données distante.
dblink_connect_u — ouvre une connexion distante à une base de données de façon non sécurisée.
dblink_disconnect — ferme une connexion persistante vers une base de données distante.
dblink — exécute une requête sur une base de données distante
dblink_exec — exécute une commande sur une base de données distante
dblink_open — ouvre un curseur sur une base de données distante
dblink_fetch — renvoie des lignes à partir d'un curseur ouvert sur une base de données distante
dblink_close — ferme un curseur sur une base de données distante
dblink_get_connections — renvoie les noms de toutes les connexions nommées ouvertes
dblink_error_message — récupère le dernier message d'erreur sur la connexion nommée
dblink_send_query — envoie une requête asynchrone à une base de données distante
dblink_is_busy — vérifie si la connexion est occupée par le traitement d'une requête asynchrone
dblink_get_notify — récupère les notifications asynchrones sur une connection
dblink_get_result — récupère le résultat d'une requête asynchrone
dblink_cancel_query — annule toute requête en cours d'exécution sur la connexion nommée
dblink_get_pkey — renvoie la position et le nom des champs de clé primaire d'une relation
dblink_build_sql_insert — construit une instruction d'insertion en utilisant un tuple local, remplaçant les valeurs des champs de la clé primaire avec les valeurs fournies
dblink_build_sql_delete — construit une instruction de suppression en utilisant les valeurs fournies pour les champs de la clé primaire
dblink_build_sql_update — construit une instruction de mise à jour à partir d'un tuple local, en remplaçant les valeurs des champs de la clé primaire par celles fournies
F.11. dict_int
F.11.1. Configuration
F.11.2. Utilisation
F.12. dict_xsyn
F.12.1. Configuration
F.12.2. Utilisation
F.13. earthdistance
F.13.1. Distances sur Terre à partir de cubes
F.13.2. Distances sur Terre à partir de points
F.14. file_fdw
F.15. fuzzystrmatch
F.15.1. Soundex
F.15.2. Levenshtein
F.15.3. Metaphone
F.15.4. Double Metaphone
F.16. hstore
F.16.1. Représentation externe de hstore
F.16.2. Opérateurs et fonctions hstore
F.16.3. Index
F.16.4. Exemples
F.16.5. Statistiques
F.16.6. Compatibilité
F.16.7. Transformations
F.16.8. Auteurs
F.17. intagg
F.17.1. Fonctions
F.17.2. Exemples d'utilisation
F.18. intarray
F.18.1. Fonctions et opérateurs d'intarray
F.18.2. Support des index
F.18.3. Exemple
F.18.4. Tests de performance
F.18.5. Auteurs
F.19. isn
F.19.1. Types de données
F.19.2. Conversions
F.19.3. Fonctions et opérateurs
F.19.4. Exemples
F.19.5. Bibliographie
F.19.6. Auteur
F.20. lo
F.20.1. Aperçu
F.20.2. Comment l'utiliser
F.20.3. Limites
F.20.4. Auteur
F.21. ltree
F.21.1. Définitions
F.21.2. Opérateurs et fonctions
F.21.3. Index
F.21.4. Exemple
F.21.5. Transformations
F.21.6. Auteurs
F.22. pageinspect
F.22.1. Fonctions générales
F.22.2. Fonctions Heap
F.22.3. Fonctions B-tree
F.22.4. Fonctions BRIN
F.22.5. Fonctions GIN
F.22.6. Fonctions Hash
F.23. passwordcheck
F.24. pg_buffercache
F.24.1. La vue pg_buffercache
F.24.2. Affichage en sortie
F.24.3. Auteurs
F.25. pgcrypto
F.25.1. Fonctions de hachage généralistes
F.25.2. Fonctions de hachage de mot de passe
F.25.3. Fonctions de chiffrement PGP
F.25.4. Fonctions de chiffrement brut (Raw)
F.25.5. Fonctions d'octets au hasard
F.25.6. Notes
F.25.7. Auteur
F.26. pg_freespacemap
F.26.1. Fonctions
F.26.2. Exemple de sortie
F.26.3. Auteur
F.27. pg_prewarm
F.27.1. Fonctions
F.27.2. Paramètres de configuration
F.27.3. Auteur
F.28. pgrowlocks
F.28.1. Aperçu
F.28.2. Exemple d'affichage
F.28.3. Auteur
F.29. pg_stat_statements
F.29.1. La vue pg_stat_statements
F.29.2. Fonctions
F.29.3. Paramètres de configuration
F.29.4. Exemple de sortie
F.29.5. Auteurs
F.30. pgstattuple
F.30.1. Fonctions
F.30.2. Auteurs
F.31. pg_trgm
F.31.1. Concepts du trigramme (ou trigraphe)
F.31.2. Fonctions et opérateurs
F.31.3. Paramètres GUC
F.31.4. Support des index
F.31.5. Intégration à la recherche plein texte
F.31.6. Références
F.31.7. Auteurs
F.32. pg_visibility
F.32.1. Fonctions
F.32.2. Auteur
F.33. postgres_fdw
F.33.1. Options FDW de postgres_fdw
F.33.2. Gestion des connexions
F.33.3. Gestion des transactions
F.33.4. Optimisation des requêtes distantes
F.33.5. Environnement d'exécution de requêtes distantes
F.33.6. Compatibilité entre versions
F.33.7. Exemples
F.33.8. Auteur
F.34. seg
F.34.1. Explications
F.34.2. Syntaxe
F.34.3. Précision
F.34.4. Utilisation
F.34.5. Notes
F.34.6. Crédits
F.35. sepgsql
F.35.1. Aperçu
F.35.2. Installation
F.35.3. Tests de régression
F.35.4. Paramètres GUC
F.35.5. Fonctionnalités
F.35.6. Fonctions Sepgsql
F.35.7. Limitations
F.35.8. Ressources externes
F.35.9. Auteur
F.36. spi
F.36.1. refint -- fonctions de codage de l'intégrité référentielle
F.36.2. autoinc -- fonctions pour l'incrémentation automatique d'un champ
F.36.3. insert_username -- fonctions pour tracer les utilisateurs qui ont modifié une table
F.36.4. moddatetime -- fonctions pour tracer la date et l'heure de la dernière modification
F.37. sslinfo
F.37.1. Fonctions
F.37.2. Auteur
F.38. tablefunc
F.38.1. Fonctions
F.38.2. Auteur
F.39. tcn
F.40. test_decoding
F.41. tsm_system_rows
F.41.1. Exemples
F.42. tsm_system_time
F.42.1. Exemples
F.43. unaccent
F.43.1. Configuration
F.43.2. Utilisation
F.43.3. Fonctions
F.44. uuid-ossp
F.44.1. Fonctions de uuid-ossp
F.44.2. Construire uuid-ossp
F.44.3. Auteur
F.45. xml2
F.45.1. Notice d'obsolescence
F.45.2. Description des fonctions
F.45.3. xpath_table
F.45.4. Fonctions XSLT
F.45.5. Auteur

Cette annexe et la suivante contiennent des informations concernant les modules disponibles 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, 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 modules plug-in 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 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 modules sont typiquement disponibles dans un package séparé, comme par exemple postgresql-contrib.

Beaucoup de ces modules fournissent de nouvelles fonctions, de nouveaux opérateurs ou types utilisateurs. Pour pouvoir utiliser un de ces modules, après avoir installé le code, il faut enregistrer les nouveaux objets SQL dans la base de données. À partir de PostgreSQL, cela se fait en exécutant la commande CREATE EXTENSION. Dans une base de données neuve, vous pouvez simplement faire :

CREATE EXTENSION nom_module;
  

Cette commande doit être exécutée par un superutilisateur. Cela 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.

Beaucoup de modules vous permettent d'installer leurs objets dans le schéma de votre choix. Pour cela, ajoutez SCHEMA nom_schéma à la commande 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.

Si votre base de données a été mise à jour par une sauvegarde puis un rechargement à partir d'une version antérieure à la 9.1 et que vous avez utilisé la version antérieure du module, vous devez utiliser à la place

CREATE EXTENSION nom_module FROM unpackaged;
  

Ceci mettra à jour les objets pré-9.1 du module dans une extension propre. Les prochaines mises à jour du module seront gérées par ALTER EXTENSION. Pour plus d'informations sur les mises à jour d'extensions, voir Section 37.17.

Néanmoins, notez que certains de ces modules 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 module pour les détails.