ALTER SCHEMA
Function
ALTER SCHEMA alters the attributes of a schema.
Precautions
- Only the owner of a schema or users granted with the ALTER permission on the schema can run the ALTER SCHEMA command. The system administrator has this permission by default. To change the owner of a schema, you must be the owner of the schema or system administrator and a member of the new owner role.
- Only the initial user is allowed to change the owner of the pg_catalog system schema.
Syntax
Alter the tamper-proof attribute of a schema.
ALTER SCHEMA schema_name { WITH | WITHOUT } BLOCKCHAIN
Rename a schema.
ALTER SCHEMA schema_name RENAME TO new_name;
Change the owner of a schema.
ALTER SCHEMA schema_name OWNER TO new_owner;
Parameter Description
schema_name
Specifies the name of an existing schema.
Value range: an existing schema name.
RENAME TO new_name
Rename a schema. If a non-administrator user wants to change the schema name, the user must have the CREATE permission on the database.
new_name: new name of the schema.
Value range: a string. It must comply with the identifier naming convention.
OWNER TO new_owner
Change the owner of a schema. To do this as a non-administrator, you must be a direct or indirect member of the new owner role, and that role must have the CREATE permission on the database.
new_owner: new owner of the schema.
Value range: an existing username or role name.
{ WITH | WITHOUT } BLOCKCHAIN
Alters the tamper-proof attribute of a schema. Common row-store tables with the tamper-proof attribute are tamper-proof history tables, excluding foreign tables, temporary tables, and system catalogs. The tamper-proof attribute can be altered only when no table is contained in the schema. In addition, the tamper-proof attribute of the temporary table schema, toast table schema, dbe_perf schema, and blockchain schema cannot be modified.
Examples
--Create the ds schema.
openGauss=# CREATE SCHEMA ds;
--Rename the current schema ds to ds_new.
openGauss=# ALTER SCHEMA ds RENAME TO ds_new;
--Create user jack.
openGauss=# CREATE USER jack PASSWORD 'xxxxxxxxx';
--Change the owner of ds_new to jack.
openGauss=# ALTER SCHEMA ds_new OWNER TO jack;
--Delete user jack and schema ds_new.
openGauss=# DROP SCHEMA ds_new;
openGauss=# DROP USER jack;