Projection Naming
Vertica identifies projections according to the following conventions, where proj‑basename is the name assigned to this projection by CREATE PROJECTION.
Unsegmented Projections
Unsegmented projections conform to the following naming conventions:
table‑name_super
|
Identifies the auto projection that Vertica automatically creates when you initially load data into an unsegmented table, where table‑basename is the table name specified in For example:
|
proj‑basename[_unseg]
|
Identifies an unsegmented projection. If proj-basename is identical to the anchor table name, Vertica appends the string For example:
|
Segmented Projections
Segmented projections conform to the following naming convention:
proj‑basename_boffset
|
Identifies buddy projections for a segmented projection, where offset identifies the projection's node location relative to all other buddy projections. All buddy projections share the same project base name. For example:
One exception applies: Vertica uses the following convention to name live aggregate projections:
|
Projections of Copied Tables
Vertica creates projections for tables that you create from existing tables with CREATE TABLE LIKE...INCLUDING PROJECTIONS.
The following table describes the algorithm that Vertica uses to assign base names to the new projections:
| Source projection name | Target | ||
|---|---|---|---|
| Schema | Table | Projection base name | |
| string | Same | Different | tgtTableName_string
|
| string | Different | Same | string
|
| string | Different | Different |
|
srcTableName_string
|
Same | Different | tgtTableName_string
|
srcTableName_string
|
Different | Different | tgtTableName_string
|
For example, given the following table and its segmented projections:
| Table name | Projection names |
|---|---|
public.T1 |
T1_b0 T1_b1 |
T1_proj1_b0 T1_proj1_b1 |
|
proj2_b0 proj2_b1 |
The following CREATE TABLE…LIKE statements copy table public.T1 and its projections to tables public.T2 and private.T1:
CREATE TABLE public.T2 LIKE public.T1 INCLUDING PROJECTIONS; CREATE TABLE private.T1 LIKE public.T1 INCLUDING PROJECTIONS;
For each new table, Vertica copies the public.T1 projections as follows:
| New table name | Copied projection names |
|---|---|
public.T2 |
T2_b0 T2_b1 |
T2_proj1_b0 T2_proj1_b1 |
|
T2_proj2_b0 T2_proj2_b1 |
|
private.T1 |
T1_b0 |
T1_proj1_b0 T1_proj1_b1 |
|
proj2_b0 proj2_b1 |