DROP OPERATOR CLASS
DROP OPERATOR CLASS — remove an operator class
Synopsis
DROP OPERATOR CLASS [ IF EXISTS ]nameUSINGindex_method[ CASCADE | RESTRICT ]
Description
DROP OPERATOR CLASS drops an existing operator class. To execute this command you must be the owner of the operator class.
DROP OPERATOR CLASS 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 specifyCASCADE for the drop to complete.
Parameters
IF EXISTSDo not throw an error if the operator class does not exist. A notice is issued in this case.
nameThe name (optionally schema-qualified) of an existing operator class.
index_methodThe name of the index access method the operator class is for.
CASCADEAutomatically drop objects that depend on the operator class (such as indexes), and in turn all objects that depend on those objects (seeSection 5.13).
RESTRICTRefuse to drop the operator class if any objects depend on it. This is the default.
Notes
DROP OPERATOR CLASS 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 byCREATE OPERATOR CLASS). An empty operator family is harmless, but for the sake of tidiness you might wish to remove the family withDROP OPERATOR FAMILY; or perhaps better, useDROP OPERATOR FAMILY in the first place.
Examples
Remove the B-tree operator classwidget_ops:
DROP OPERATOR CLASS widget_ops USING btree;
This command will not succeed if there are any existing indexes that use the operator class. AddCASCADE to drop such indexes along with the operator class.
Compatibility
There is noDROP OPERATOR CLASS statement in the SQL standard.