pg_amop Le catalogue pg_amop stocke les
   informations concernant les opérateurs associés aux familles
   d'opérateurs des méthodes d'accès aux index. Il y a une ligne pour
   chaque opérateur membre d'une famille. Un membre d'une famille peut
   être soit un opérateur de recherche soit un
   opérateur de tri. Un opérateur peut apparaître
   dans plus d'une famille, mais ne peut pas apparaître dans plus d'une
   position à l'intérieur d'une famille.
  
Tableau 51.4. Colonnes de pg_amop
| Nom | Type | Références | Description | 
|---|---|---|---|
oid | oid | Identifiant de ligne | |
amopfamily | oid |  | La famille d'opérateur | 
amoplefttype | oid |  | Type de données en entrée, côté gauche, de l'opérateur | 
amoprighttype | oid |  | Type de données en entrée, côté droit, de l'opérateur | 
amopstrategy | int2 | Numéro de stratégie d'opérateur | |
amoppurpose | char | But de l'opérateur, soit s pour
       recherche soit o pour tri | |
amopopr | oid |  | OID de l'opérateur | 
amopmethod | oid |  | Méthode d'accès à l'index pour cette famille d'opérateur | 
amopsortfamily | oid |  | La famille d'opérateur B-tree utilisée par cette entrée pour trier s'il s'agit d'un opérateur de tri ; zéro s'il s'agit d'un opérateur de recherche | 
   Un opérateur de « recherche » indique qu'un index de cet
   opérateur peut être utilisé pour rechercher toutes les lignes
   satisfaisant une clause WHERE
   colonne_indexée
   opérateur
   constante. Cet opérateur doit évidemment
   renvoyer un booléen et le type de l'entrée gauche doit correspondre
   au type de données de la colonne de l'index.
  
   Un opérateur de « tri » indique qu'un index de cette
   famille d'opérateur peut être parcouru pour renvoyer les lignes dans
   l'ordre représenté par une clause
   ORDER BY
   colonne_indexée
   opérateur
   constante. Cet opérateur peut renvoyer
   tout type de données triable, bien que le type de l'entrée gauche doit
   correspondre au type de données de la colonne de l'index. La
   sémantique exacte de la clause ORDER BY est
   spécifié par la colonne amopsortfamily qui
   doit référencer une famille d'opérateur B-tree pour le type de
   résultat de l'opérateur.
  
    Actuellement, il est supposé que l'ordre de tri pour un opérateur de
    tri est celui par défaut de la famille d'opérateur référencée,
    c'est-à-dire ASC NULLS LAST. Ceci pourrait changer
    en ajoutant des colonnes supplémentaires pour y indiquer explicitement
    les options de tri.
   
   Une entrée dans amopmethod doit correspondre
   au opfmethod de sa famille d'opérateur parent
   (l'inclusion de amopmethod à ce niveau est une dénormalisation
   intentionnelle de la structure du catalogue pour des raisons de performance).
   De plus, amoplefttype et
   amoprighttype doivent correspondre aux champs
   oprleft et oprright
   de l'entrée pg_operator référencée.