Projection Privileges

Because projections are the underlying storage construct for tables, they are atypical in that they do not have an owner or privileges associated with them directly. Instead, the privileges to create, access, or alter a projection are based on the anchor tables that the projection references, as well as the schemas that contain them.

All queries in Vertica obtain data from projections directly or indirectly. In both cases, to run a query, you must have SELECT privileges on the tables that the projections reference, and USAGE privileges on all schemas that contain those tables.

You can create projections in two ways: explicitly and implicitly.

Explicit Projection Creation

To create a projection with CREATE PROJECTION or any of its variants, you must be a superuser or owner of the anchor table.

Only the anchor table owner can drop explicitly created projections. Explicitly created projections can be live aggregate projections, including Top-K projections and projections with expressions.

Implicit Projection Creation

When you insert data into a table, Vertica automatically creates a superprojection for the table.

Superprojections do not require any additional privileges to create or drop, other than privileges for table creation. Users who can create a table or drop a table can also create and drop the associated superprojection.

See Also