DROP_OPERATOR_CLASS - remove an operator class
Contents
Compatibility
There is no DROPOPERATORCLASS statement in the SQL standard.
Description
DROPOPERATORCLASS drops an existing operator class. To execute this command you must be the owner of
the operator class.
DROPOPERATORCLASS does not drop any of the operators or functions referenced by the class. If there are
any indexes depending on the operator class, you will need to specify CASCADE for the drop to complete.
Examples
Remove the B-tree operator class widget_ops:
DROP OPERATOR CLASS widget_ops USING btree;
This command will not succeed if there are any existing indexes that use the operator class. Add CASCADE
to drop such indexes along with the operator class.
Name
DROP_OPERATOR_CLASS - remove an operator class
Notes
DROPOPERATORCLASS will not drop the operator family containing the class, even if there is nothing else
left in the family (in particular, in the case where the family was implicitly created by CREATEOPERATORCLASS). An empty operator family is harmless, but for the sake of tidiness you might wish to remove the
family with DROPOPERATORFAMILY; or perhaps better, use DROPOPERATORFAMILY in the first place.
Parameters
IF EXISTS
Do not throw an error if the operator class does not exist. A notice is issued in this case.
name
The name (optionally schema-qualified) of an existing operator class.
index_method
The name of the index access method the operator class is for.
CASCADE
Automatically drop objects that depend on the operator class (such as indexes), and in turn all
objects that depend on those objects (see Section 5.15).
RESTRICT
Refuse to drop the operator class if any objects depend on it. This is the default.
See Also
ALTER OPERATOR CLASS (ALTER_OPERATOR_CLASS(7)), CREATE OPERATOR CLASS (CREATE_OPERATOR_CLASS(7)), DROP
OPERATOR FAMILY (DROP_OPERATOR_FAMILY(7))
PostgreSQL 17.5 2025 DROPOPERATORCLASS(7)
Synopsis
DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]
