A new create user account in Vertica must be explicitly granted the privileges that will allow him to act on the database. This privileges must be carefully chosen by the dbadmin(superuser) when given to a user.
We will see what are the required privileges for a given action that a user must have in order to conclude that action.
We will be discuss privileges needs based on the action classes bellow:
Actions on Schema
Actions on Tables
Actions on Views
Actions on Projections
Actions on External Procedures
Actions on Libraries
Actions on User defined functions
Actions on Sequences
Actions on Resource Pools
Actions on User, Profiles and Roles
Also here is an overview of privileges that can be granted
We will see what Privileges are required for Schema actions
I will use the user called test_user as our guinea pig.
so the test_user user was created using the syntax bellow:
the user is only granted USAGE to schema PUBLIC.
Create Schema privileges
We need to give it the right to create schema.
Now try to create the schema again connected as the test_user account.
Drop Schema privileges
to drop a schema the user must be the owner of the schema or be a superuser.
Now drop the schema bla that the test_user owns.
Rename Schema privileges
to rename a schema the user must have the same privileges as create schema