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, l'utilisateur n'a aucune raison de modifier les catalogues systè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 47.1, « Catalogues système » liste les catalogues système. Une documentation plus détaillée des catalogues système 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 47.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_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_collation | collationnement (information locale) |
pg_conversion | informations de conversions de codage |
pg_database | bases de données du cluster PostgreSQL™ |
pg_db_role_setting | configuration par rôle et par base de données |
pg_default_acl | droits par défaut sur des types d'objets |
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_enum | définitions des labels et des valeurs des enum |
pg_event_trigger | triggers sur événement |
pg_extension | extensions installées |
pg_foreign_data_wrapper | définitions des wrappers de données distantes |
pg_foreign_server | définitions des serveurs distants |
pg_foreign_table | informations supplémentaires sur les tables distantes |
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 | pages de données pour les « Large Objects » |
pg_largeobject_metadata | métadonnées pour les « Large Objects » |
pg_namespace | schémas |
pg_opclass | classes d'opérateurs de méthodes d'accès |
pg_operator | opérateurs |
pg_opfamily | familles d'opérateurs de méthodes d'accès |
pg_pltemplate | données modèles pour les langages procéduraux |
pg_proc | fonctions et procédures |
pg_range | informations sur les types d'intervalles de données |
pg_rewrite | règles de réécriture de requêtes |
pg_seclabel | labels de sécurité sur les objets d'une base de données |
pg_shdepend | dépendances sur les objets partagés |
pg_shdescription | commentaires sur les objets partagés |
pg_shseclabel | labels de sécurité sur des 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_ts_config | configuration de la recherche plein texte |
pg_ts_config_map | configuration de la recherche plein texte pour la correspondance des lexèmes (token) |
pg_ts_dict | dictionnaires de la recherche plein texte |
pg_ts_parser | analyseurs de la recherche plein texte |
pg_ts_template | modèles de la recherche plein texte |
pg_type | types de données |
pg_user_mapping | correspondance d'utilisateurs sur des serveurs distants |