Chapitre 43. Catalogues système

Table des matières
43.1. Aperçu
43.2. pg_aggregate
43.3. pg_am
43.4. pg_amop
43.5. pg_amproc
43.6. pg_attrdef
43.7. pg_attribute
43.8. pg_cast
43.9. pg_class
43.10. pg_constraint
43.11. pg_conversion
43.12. pg_database
43.13. pg_depend
43.14. pg_description
43.15. pg_group
43.16. pg_index
43.17. pg_inherits
43.18. pg_language
43.19. pg_largeobject
43.20. pg_listener
43.21. pg_namespace
43.22. pg_opclass
43.23. pg_operator
43.24. pg_proc
43.25. pg_rewrite
43.26. pg_shadow
43.27. pg_statistic
43.28. pg_trigger
43.29. pg_type
43.30. Vues système
43.31. pg_indexes
43.32. pg_locks
43.33. pg_rules
43.34. pg_settings
43.35. pg_stats
43.36. pg_tables
43.37. pg_user
43.38. pg_views

Les catalogues système sont le lieu où une base de données relationnelle stocke les métadonnées des schémas, comme les informations sur les tables et les colonnes, et des données de suivi internes. Les catalogues système de PostgreSQL sont de simples tables. Vous pouvez les supprimer et les recréer, ajouter des colonnes, insérer et mettre à jour des valeurs, et mettre un joyeux bazar dans votre système. Normalement, on ne devrait pas modifier les catalogues système soi-même, il y a toujours des commandes SQL pour le faire. (Par exemple, CREATE DATABASE insère une ligne dans le catalogue pg_database -- et crée physiquement la base de données sur le disque.) Il y a des exceptions pour certaines opérations particulièrement ésotériques, comme l'ajout de méthodes d'accès aux index.

43.1. Aperçu

Tableau 43-1 liste les catalogues système. Une documentation détaillée sur les catalogues systèmes vient plus loin.

La plupart des catalogues système sont recopiés de la base de données modèle lors de la création de la base de données et sont donc spécifiques à chaque base de données. Un petit nombre de catalogues sont physiquement partagés par toutes les bases de données d'une installation de PostgreSQL. Ils sont indiqués dans les descriptions des catalogues.

Tableau 43-1. Catalogues système

Nom du catalogueContenu
pg_aggregatefonctions d'agrégat
pg_amméthodes d'accès aux index
pg_amopopérateurs des méthodes d'accès
pg_amprocprocédures de support des méthodes d'accès
pg_attrdefvaleurs par défaut des colonnes
pg_attributecolonnes des tables (<< attributs >>)
pg_castconversions de types de données (cast)
pg_classtables, index, séquences (<< relations >>)
pg_constraintcontraintes de vérification, contraintes uniques, contraintes de clés primaires, contraintes de clés étrangères
pg_conversioninformations de conversions de codage
pg_databasebases de données de l'installation PostgreSQL
pg_dependdépendances entre objets de la base de données
pg_descriptiondescriptions ou commentaires des objets de base de données
pg_groupgroupes d'utilisateurs de la base de données
pg_indexinformations supplémentaires des index
pg_inheritshiérarchie d'héritage de tables
pg_languagelangages pour écrire des fonctions
pg_largeobjectgros objets
pg_listenersupport de notification asynchrone
pg_namespaceschémas
pg_opclassclasses d'opérateurs de méthodes d'accès aux index
pg_operatoropérateurs
pg_procfonctions et procédures
pg_rewriterègles de réécriture de requêtes
pg_shadowutilisateurs de la base de données
pg_statisticstatistiques de l'optimiseur de requêtes
pg_triggerdéclencheurs
pg_typetypes de données