--- title: "ALTER OPERATOR CLASS" id: sql-alteropclass pg_version: "20devel" --- # ALTER OPERATOR CLASS — change the definition of an operator class ## Synopsis ``` ALTER OPERATOR CLASS name USING index_method RENAME TO new_name ALTER OPERATOR CLASS name USING index_method OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER OPERATOR CLASS name USING index_method SET SCHEMA new_schema ``` ## Description `ALTER OPERATOR CLASS` changes the definition of an operator class. You must own the operator class to use `ALTER OPERATOR CLASS`. To alter the owner, you must be able to `SET ROLE` to the new owning role, and that role must have `CREATE` privilege on the operator class's schema. (These restrictions enforce that altering the owner doesn't do anything you couldn't do by dropping and recreating the operator class. However, a superuser can alter ownership of any operator class anyway.) ## Parameters **`name`** The name (optionally schema-qualified) of an existing operator class. **`index_method`** The name of the index method this operator class is for. **`new_name`** The new name of the operator class. **`new_owner`** The new owner of the operator class. **`new_schema`** The new schema for the operator class. ## Compatibility There is no `ALTER OPERATOR CLASS` statement in the SQL standard. ## See Also [CREATE OPERATOR CLASS](sql-createopclass.md), [DROP OPERATOR CLASS](sql-dropopclass.md), [ALTER OPERATOR FAMILY](sql-alteropfamily.md)