41.3. pg_am

Le catalogue pg_am enregistre les informations sur les méthodes d'accès aux index. Il y a une ligne pour chaque méthode d'accès supportée par le système.

Tableau 41-3. Colonnes de pg_am

NomTypeRéférencesDescription
amnamename Nom de la méthode d'accès
amownerint4pg_shadow.usesysidID utilisateur du propriétaire (actuellement non utilisé)
amstrategiesint2 Nombre de stratégies d'opérateur pour cette méthode d'accès
amsupportint2 Nombre de routines de support pour cette méthode d'accès
amorderstrategyint2 Zéro si l'index n'a pas d'ordre de tri, sinon, numéro de de stratégie de l'opérateur de stratégie qui décrit l'ordre de tri
amcanuniquebool Est-ce que la méthode d'accès supporte les index uniques ?
amcanmulticolbool Est-ce que la méthode d'accès supporte les index multicolonnes ?
amindexnullsbool Est-ce que la méthode d'accès supporte les entrées d'index NULLs ?
amconcurrentbool Est-ce que la méthode d'accès supporte les mises à jour concurrentes ?
amgettupleregprocpg_proc.oidFonction << prochaine ligne valide >>
aminsertregprocpg_proc.oidFonction << insérer cette ligne >>
ambeginscanregprocpg_proc.oidFonction << commencer un nouveau balayage >>
amrescanregprocpg_proc.oidFonction << redémarrer ce balayage >>
amendscanregprocpg_proc.oidFonction << arrêter ce balayage >>
ammarkposregprocpg_proc.oidFonction << marquer la position actuelle dans le balayage >>
amrestrposregprocpg_proc.oidFonction << restaurer une position de balayage sauvegardée >>
ambuildregprocpg_proc.oidFonction << construire un nouvel index >>
ambulkdeleteregprocpg_proc.oidFonction de destruction en masse
amvacuumcleanupregprocpg_proc.oidFonction de nettoyage post-VACUUM
amcostestimateregprocpg_proc.oidFonction d'estimation du coût d'un balayage d'index

Une méthode d'accès qui supporte les colonnes multiples (qui a amcanmulticol à vrai) doit supporter l'indexation des valeurs NULL dans les colonnes autres que la première, parce que l'optimiseur de requêtes supposera que le parcours d'index peut être utilisé pour les requêtes portant seulement sur la ou les première(s) colonne(s). Par exemple, supposons un index sur (a,b) et une requête contenant WHERE a = 4. Le système supposera que le parcours d'index peut être utilisé pour balayer les lignes pour lesquelles a = 4, ce qui est faux si l'index omet les lignes pour lesquelles b est nul. Il est cependant possible d'omettre les lignes dont la première colonne d'index est NULL. (GiST le fait). amindexnulls ne doit être mis à vrai que si la méthode d'accès indexe toutes les lignes, y compris toute combinaison de valeurs NULL.