---
title: "ALTER SCHEMA"
id: sql-alterschema
pg_version: "20devel"
---
# ALTER SCHEMA — change the definition of a schema
## Synopsis
```
ALTER SCHEMA name RENAME TO new_name
ALTER SCHEMA name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
```
## Description
`ALTER SCHEMA` changes the definition of a schema.
You must own the schema to use `ALTER SCHEMA`. To rename a schema you must also have the `CREATE` privilege for the database. To alter the owner, you must be able to `SET ROLE` to the new owning role, and that role must have the `CREATE` privilege for the database. (Note that superusers have all these privileges automatically.)
## Parameters
**`name`**
The name of an existing schema. **`new_name`**
The new name of the schema. The new name cannot begin with `pg_`, as such names are reserved for system schemas. **`new_owner`**
The new owner of the schema.
## Compatibility
There is no `ALTER SCHEMA` statement in the SQL standard.
## See Also
[CREATE SCHEMA](sql-createschema.md), [DROP SCHEMA](sql-dropschema.md)