Les catalogues système représentent l'endroit où une base de données relationnelle stocke les métadonnées des schémas, telles que les informations sur les tables et les colonnes, et des données de suivi interne. Les catalogues système de PostgreSQL™ sont de simples tables. Elle peuvent être supprimées et recrées. Il est possible de leur ajouter des colonnes, d'y insérer et modifier des valeurs, et de mettre un joyeux bazar dans le système. En temps normal, 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.
Tableau 43.1, « Catalogues système » liste les catalogues système. Une documentation plus détaillée des catalogues systèmes suit.
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 deviennent alors 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 catalogue | Contenu |
---|---|
pg_aggregate | fonctions d'agrégat |
pg_am | méthodes d'accès aux index |
pg_amop | opérateurs des méthodes d'accès |
pg_amproc | procédures de support des méthodes d'accès |
pg_attrdef | valeurs par défaut des colonnes |
pg_attribute | colonnes des tables (« attributs ») |
pg_authid | identifiants d'autorisation (rôles) |
pg_auth_members | relations d'appartenance aux identifiants d'autorisation |
pg_autovacuum | paramètres de configuration de l'autovacuum par relation |
pg_cast | conversions de types de données ( cast ) |
pg_class | tables, index, séquences, vues (« relations ») |
pg_constraint | contraintes de vérification, contraintes uniques, contraintes de clés primaires, contraintes de clés étrangères |
pg_conversion | informations de conversions de codage |
pg_database | bases de données du cluster PostgreSQL™ |
pg_depend | dépendances entre objets de la base de données |
pg_description | descriptions ou commentaires des objets de base de données |
pg_index | informations supplémentaires des index |
pg_inherits | hiérarchie d'héritage de tables |
pg_language | langages d'écriture de fonctions |
pg_largeobject | gros objets |
pg_listener | support de notification asynchrone |
pg_namespace | schémas |
pg_opclass | classes d'opérateurs de méthodes d'accès aux index |
pg_operator | opérateurs |
pg_pltemplate | données modèles pour les langages de procédures |
pg_proc | fonctions et procédures |
pg_rewrite | règles de réécriture de requêtes |
pg_shdepend | dépendances sur les objets partagés |
pg_shdescription | commentaires sur les objets partagés |
pg_statistic | statistiques de l'optimiseur de requêtes |
pg_tablespace | tablespaces du cluster de bases de données |
pg_trigger | déclencheurs |
pg_type | types de données |