Interfacing Extensions To Indexes
Chapter 14. Interfacing Extensions To Indexes
- Table of Contents
- 14.1. Introduction
- 14.2. Access Methods and Operator Classes
- 14.3. Access Method Strategies
- 14.4. Access Method Support Routines
- 14.5. Creating the Operators and Support Routines
- 14.6. Creating the Operator Class
- 14.7. Special Features of Operator Classes
14.1. Introduction
The procedures described thus far let you define new types, new functions, and new operators. However, we cannot yet define a secondary index (such as a B-tree, R-tree, or hash access method) over a new type, nor associate operators of a new type with secondary indexes. To do these things, we must define an operator class for the new data type. We will describe operator classes in the context of a running example: a new operator class for the B-tree access method that stores and sorts complex numbers in ascending absolute value order.
Note: Prior to PostgreSQL release 7.3, it was necessary to make manual additions to
pg_amop
,pg_amproc
, andpg_opclass
in order to create a user-defined operator class. That approach is now deprecated in favor of using CREATE OPERATOR CLASS, which is a much simpler and less error-prone way of creating the necessary catalog entries.