This check item is displayed when the target database type is GaussDB and the migration user is a common or sysadmin user (separation of permissions enabled). This check item involves complex permission combination.
In GaussDB 2.7 or earlier, CREATE permissions on public schemas are required to create objects such as tables, views, indexes, sequences, packages, types, and triggers.
In GaussDB 3.1 or later, the user SYSADMIN (used when separation of permission is enabled) must have the CREATE permissions on public schemas to create objects such as tables, views, indexes, sequences, packages, types, and triggers.
In GaussDB 3.1 or later, a common user must have the CREATE permissions on public schemas and the ANY permissions of objects, to create objects such as tables, views, indexes, sequences, packages, types, and triggers.
In separation of permissions, only initial users have the permissions to create functions, stored procedures, and synonyms on public schemas.
In non-separation of permissions, initial and sysadmin users have the permissions to create functions, stored procedures, and synonyms on public schemas.
CREATE permissions: GRANT CREATE ON SCHEMA public TO <user>;
ANY permissions:
GRANT CREATE ANY TABLE TO <user>;//Users can create tables or views in public and user schemas.
GRANT CREATE ANY SEQUENCE TO <user>;//Users can create sequences in public and user schemas.
GRANT CREATE ANY INDEX TO <user>;//Users can create indexes in public and user schemas.
GRANT CREATE ANY PACKAGE TO <user>;//Users can create packages in public and user schemas.
GRANT CREATE ANY TYPE TO <user>;//Users can create types in public and user schemas.
GRANT CREATE ANY TRIGGER TO <user>;//Users can create triggers in public and user schemas.
- A DB instance contains multiple databases. Each database has its own public schema. Permission assignment must be performed in the corresponding database.
- When separation of permissions is enabled, initial user is used to grant permissions. When separation of permissions is disabled, SYSADMIN user is used to grant permissions.
- This check item is not mandatory. Based on the GaussDB permission design, the check result is always Warning.