| Précédent | Niveau supérieur | Suivant |
| 35.16. Fonctionnement Interne | Sommaire | 36.1. Le schéma |
Table des matières
information_schema_catalog_name administrable_role_authorizations applicable_roles attributes character_sets check_constraint_routine_usage check_constraints collations collation_character_set_applicability column_domain_usage column_options column_privileges column_udt_usage columns constraint_column_usage constraint_table_usage data_type_privileges domain_constraints domain_udt_usage domains element_types enabled_roles foreign_data_wrapper_options foreign_data_wrappers foreign_server_options foreign_servers foreign_table_options foreign_tables key_column_usage parameters referential_constraints role_column_grants role_routine_grants role_table_grants role_udt_grants role_usage_grants routine_privileges routines schemata sequences sql_features sql_implementation_info sql_languages sql_packages sql_parts sql_sizing sql_sizing_profiles table_constraints table_privileges tables transforms triggered_update_columns triggers udt_privileges usage_privileges user_defined_types user_mapping_options user_mappings view_column_usage view_routine_usage view_table_usage views Le schéma d'information consiste en un ensemble de vues contenant des informations sur les objets définis dans la base de données courante. Le schéma d'information est défini dans le standard SQL et, donc supposé portable et stable -- contrairement aux catalogues système qui sont spécifiques à PostgreSQL et modelés suivant l'implantation. Néanmoins, les vues du schéma d'information ne contiennent pas d'informations sur les fonctionnalités spécifiques à PostgreSQL ; pour cela, on utilise catalogues système et autres vues spécifiques à PostgreSQL.
En demandant des informations sur les contraintes dans la base de données, il est possible qu'une requête conforme au standard s'attendant à ne récupérer qu'une ligne en récupère en fait plusieurs. Ceci est dû au fait que le standard SQL requiert que les noms des contraintes soient uniques dans un même schéma mais PostgreSQL ne force pas cette restriction. Les noms de contraintes créés automatiquement par PostgreSQL évitent les doublons dans le le même schéma mais les utilisateurs peuvent spécifier explicitement des noms existant déjà.
Ce problème peut apparaître lors de la consultation de vues du
schéma d'informations, comme par exemple
check_constraint_routine_usage,
check_constraints,
domain_constraints et
referential_constraints. Certaines autres
vues ont des problèmes similaires mais contiennent le nom de la table
pour aider à distinguer les lignes dupliquées, par exemple
constraint_column_usage,
constraint_table_usage,
table_constraints.