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

Annexe F. Modules et extensions supplémentaires fournis

Table des matières

F.1. adminpack -- outils pour pgAdmin
F.2. amcheck -- outils pour vérifier la cohérence des tables et index
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. basebackup_to_shell -- module exemple "shell" pour pg_basebackup
F.5.1. Paramètres de configuration
F.5.2. Auteur
F.6. basic_archive -- module d'exemple pour l'archivage des journaux de transactions
F.6.1. Paramètres de configuration
F.6.2. Notes
F.6.3. Auteur
F.7. bloom -- méthode d'accès aux index pour des filtres bloom
F.7.1. Paramètres
F.7.2. Exemples
F.7.3. Interface de la classe d'opérateur
F.7.4. Limitations
F.7.5. Auteurs
F.8. btree_gin -- classes d'opérateur GIN avec un comportement type B-tree
F.8.1. Exemple d'utilisation
F.8.2. Auteurs
F.9. btree_gist -- classes d'opérateur GiST pour un comportement type B-tree
F.9.1. Exemple d'utilisation
F.9.2. Auteurs
F.10. citext -- un type chaîne de caractères insensible à la casse
F.10.1. Intérêt
F.10.2. Comment l'utiliser
F.10.3. Comportement des comparaisons de chaînes
F.10.4. Limitations
F.10.5. Auteur
F.11. cube -- un type de donnée cube multidimensionnel
F.11.1. Syntaxe
F.11.2. Précision
F.11.3. Utilisation
F.11.4. Par défaut
F.11.5. Notes
F.11.6. Crédits
F.12. dblink -- se connecter à d'autres bases de données PostgreSQL
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.13. dict_int
F.13.1. Configuration
F.13.2. Utilisation
F.14. dict_xsyn -- dictionnaire d'exemple pour la recherche de synonyme avec la recherche plein texte
F.14.1. Configuration
F.14.2. Utilisation
F.15. earthdistance -- calculer les distances circulaires
F.15.1. Distances sur Terre à partir de cubes
F.15.2. Distances sur Terre à partir de points
F.16. file_fdw -- accéder aux fichiers de données sur le système de fichiers du serveur
F.17. fuzzystrmatch -- déterminer les similarités et les distances sur des chaînes de caractères
F.17.1. Soundex
F.17.2. Daitch-Mokotoff Soundex
F.17.3. Levenshtein
F.17.4. Metaphone
F.17.5. Double Metaphone
F.18. hstore -- type de données clé/valeur hstore
F.18.1. Représentation externe de hstore
F.18.2. Opérateurs et fonctions hstore
F.18.3. Index
F.18.4. Exemples
F.18.5. Statistiques
F.18.6. Compatibilité
F.18.7. Transformations
F.18.8. Auteurs
F.19. intagg -- agrégateur et énumérateur d'entiers
F.19.1. Fonctions
F.19.2. Exemples d'utilisation
F.20. intarray -- manipuler des tableaux d'entiers
F.20.1. Fonctions et opérateurs d'intarray
F.20.2. Support des index
F.20.3. Exemple
F.20.4. Tests de performance
F.20.5. Auteurs
F.21. isn -- types de données pour les nombres du standard international (ISBN, EAN, UPC, etc.)
F.21.1. Types de données
F.21.2. Conversions
F.21.3. Fonctions et opérateurs
F.21.4. Exemples
F.21.5. Bibliographie
F.21.6. Auteur
F.22. lo -- gérer les Large Objects
F.22.1. Aperçu
F.22.2. Comment l'utiliser
F.22.3. Limites
F.22.4. Auteur
F.23. ltree -- type de données hiérarchique style arbre
F.23.1. Définitions
F.23.2. Opérateurs et fonctions
F.23.3. Index
F.23.4. Exemple
F.23.5. Transformations
F.23.6. Auteurs
F.24. old_snapshot -- inspecter l'état de old_snapshot_threshold
F.24.1. Fonctions
F.25. pageinspect -- inspection bas niveau des blocs d'une base de données
F.25.1. Fonctions générales
F.25.2. Fonctions Heap
F.25.3. Fonctions B-tree
F.25.4. Fonctions BRIN
F.25.5. Fonctions GIN
F.25.6. Fonctions GiST
F.25.7. Fonctions Hash
F.26. passwordcheck -- vérifier la solidité des mots de passe
F.27. pg_buffercache -- inspecter l'état du cache disque de PostgreSQL
F.27.1. La vue pg_buffercache
F.27.2. Fonction pg_buffercache_summary()
F.27.3. Fonction pg_buffercache_usage_counts()
F.27.4. Affichage en sortie
F.27.5. Auteurs
F.28. pgcrypto -- fonctions de chiffrement
F.28.1. Fonctions de hachage généralistes
F.28.2. Fonctions de hachage de mot de passe
F.28.3. Fonctions de chiffrement PGP
F.28.4. Fonctions de chiffrement brut (Raw)
F.28.5. Fonctions d'octets au hasard
F.28.6. Notes
F.28.7. Auteur
F.29. pg_freespacemap -- examiner la carte des espaces libres
F.29.1. Fonctions
F.29.2. Exemple de sortie
F.29.3. Auteur
F.30. pg_prewarm -- précharger les données des relations dans le cache disque de PostgreSQL
F.30.1. Fonctions
F.30.2. Paramètres de configuration
F.30.3. Auteur
F.31. pgrowlocks -- afficher des informations sur le verrouillage d'une table
F.31.1. Aperçu
F.31.2. Exemple d'affichage
F.31.3. Auteur
F.32. pg_stat_statements -- récupérer les statistiques de planification et d'exécution de requêtes SQL
F.32.1. La vue pg_stat_statements
F.32.2. La vue pg_stat_statements_info
F.32.3. Fonctions
F.32.4. Paramètres de configuration
F.32.5. Exemple de sortie
F.32.6. Auteurs
F.33. pgstattuple -- obtenir des statistiques au niveau ligne
F.33.1. Fonctions
F.33.2. Auteurs
F.34. pg_surgery -- réaliser des opérations bas niveau sur les données des relations
F.34.1. Fonctions
F.34.2. Auteurs
F.35. pg_trgm -- support de la similarité de texte en utilisant la correspondance de trigrammes
F.35.1. Concepts du trigramme (ou trigraphe)
F.35.2. Fonctions et opérateurs
F.35.3. Paramètres GUC
F.35.4. Support des index
F.35.5. Intégration à la recherche plein texte
F.35.6. Références
F.35.7. Auteurs
F.36. pg_visibility -- informations et outils sur la carte de visibilité
F.36.1. Fonctions
F.36.2. Auteur
F.37. pg_walinspect -- inspection bas niveau des journaux de transaction
F.37.1. Fonctions générales
F.37.2. Auteur
F.38. postgres_fdw -- accéder des données enregistrées dans des serveurs PostgreSQL externes
F.38.1. Options FDW de postgres_fdw
F.38.2. Fonctions
F.38.3. Gestion des connexions
F.38.4. Gestion des transactions
F.38.5. Optimisation des requêtes distantes
F.38.6. Environnement d'exécution de requêtes distantes
F.38.7. Compatibilité entre versions
F.38.8. Paramètres de configuration
F.38.9. Exemples
F.38.10. Auteur
F.39. seg -- un type de données pour les segments de ligne et pour les intervalles en virgule flottante
F.39.1. Explications
F.39.2. Syntaxe
F.39.3. Précision
F.39.4. Utilisation
F.39.5. Notes
F.39.6. Crédits
F.40. sepgsql -- module de sécurité SELinux pour le contrôle d'accès basé sur les labels
F.40.1. Aperçu
F.40.2. Installation
F.40.3. Tests de régression
F.40.4. Paramètres GUC
F.40.5. Fonctionnalités
F.40.6. Fonctions Sepgsql
F.40.7. Limitations
F.40.8. Ressources externes
F.40.9. Auteur
F.41. spi -- exemples et fonctionnalités du Server Programming Interface
F.41.1. refint -- fonctions de codage de l'intégrité référentielle
F.41.2. autoinc -- fonctions pour l'incrémentation automatique d'un champ
F.41.3. insert_username -- fonctions pour tracer les utilisateurs qui ont modifié une table
F.41.4. moddatetime -- fonctions pour tracer la date et l'heure de la dernière modification
F.42. sslinfo -- obtenir des informations SSL du client
F.42.1. Fonctions
F.42.2. Auteur
F.43. tablefunc -- fonctions qui renvoient des tables (crosstab et autres)
F.43.1. Fonctions
F.43.2. Auteur
F.44. tcn -- une fonction trigger pour notifier les processus en écoute de modifications sur le contenu de la table
F.45. test_decoding -- module d'exemple et de test pour le décodage logique des journaux de transactions en SQL
F.46. tsm_system_rows -- méthode d'échantillonage SYSTEM_ROWS pour TABLESAMPLE
F.46.1. Exemples
F.47. tsm_system_time -- méthode d'échantillonage SYSTEM_TIME pour TABLESAMPLE
F.47.1. Exemples
F.48. unaccent -- un dictionnaire de recherche plein texte qui supprime les accents
F.48.1. Configuration
F.48.2. Utilisation
F.48.3. Fonctions
F.49. uuid-ossp -- un générateur d'UUID
F.49.1. Fonctions de uuid-ossp
F.49.2. Construire uuid-ossp
F.49.3. Auteur
F.50. xml2 -- fonctionnalités de requêtage XPath et XSLT
F.50.1. Notice d'obsolescence
F.50.2. Description des fonctions
F.50.3. xpath_table
F.50.4. Fonctions XSLT
F.50.5. Auteur

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_ginfuzzystrmatchltreetcn
btree_gisthstorepgcryptotsm_system_rows
citextintarraypg_trgmtsm_system_time
cubeisnsegunaccent
dict_intlotablefuncuuid-ossp

Beaucoup d'extensions 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.

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.