blob: 43ce3b4b3aa1101e084ff301297035040adda78b [file] [view]
---
title: ALTER OPERATOR CLASS
---
# ALTER OPERATOR CLASS
Changes the definition of an operator class.
## Synopsis
```sql
ALTER OPERATOR CLASS <name> USING <index_method> RENAME TO <new_name>
ALTER OPERATOR CLASS <name> USING <index_method> OWNER TO { <new_owner> | 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 also be a direct or indirect member of the new owning role, and that role must have `CREATE` privilege on the operator class's schema. (These restrictions enforce that altering the owner does not do anything you could not 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](/docs/sql-stmts/create-operator-class.md), [DROP OPERATOR CLASS](/docs/sql-stmts/drop-operator-class.md), [ALTER OPERATOR FAMILY](/docs/sql-stmts/alter-operator-family.md)