Open topic with navigation
Starting with release 9.1 and continuing with release 9.2, Vertica has removed support for the following projections:
Release 9.1: Projection buddies with different SELECT and ORDER BY clauses. All projection buddies must specify columns in the same order. Projections with non-compliant buddies are regarded by the Vertica database as unsafe.
Release 9.2: Pre-join and range segmentation projections. If a table's only super-projection is one of these projection types, the projection is also regarded as unsafe.
Before upgrading to 9.1 or higher, run the pre-upgrade script that Vertica has provided, to check your database for unsupported projections. This script examines your current database and sends to standard output its analysis and recommendations. If it identifies unsupported projections, it lists them. If the script finds projection buddies with different SELECT and ORDER BY clauses, it also generates a deploy script. This script remedies projections so they comply with system K-safety.
Important: If the upgrade encounters unsupported projections, it is liable to fail. You must then revert to the previous installation.
Download the pre-upgrade script,
identify_unsupported_projections.sh, from the following location:
SYSDATAresource pool increased to handle script and DDL overhead.
While the database is running, execute the pre-upgrade script on one of its server nodes:
./identify_unsupported_projections.sh [ ‑U username ] [ ‑w password ] [ ‑p port ] [ ‑d path ] [ ‑s temp‑schema ]
||Username of superuser or dbadmin|
||TCP port or local socket file extension where server listens for connections, by default 5433|
||Location for the generated output files, by default
||Name of the temporary schema that the pre-upgrade script creates, by default
Congratulations! No unsafe projections detected
Otherwise, repeat steps 2-4.
If the pre-upgrade script detects projection buddies with different SELECT and ORDER BY clauses, it generates a deploy script that performs the following tasks:
Remedies vary according to the projection type:
|Projection type||Deploy script remedy|
|Standard segmented projection||
Drops unsafe projection buddies, replaces with projection buddies that have identical selection lists and sorting, and identical segmentation but different offsets.
|Standard unsegmented projection||
Drops unsafe projections, replaces with projections that have identical selection lists and sorting, but different node set.
|Expression projection||Drops unsupported projections, replaces with projections that comply with new requirements.|
|Projection with non‑elastic segmentation||Drops unsupported projections, replaces with projections that comply with new requirements.|
Range segmentation projection
None, you must manually remove these projections. If any projection serves as its anchor table's only superprojection, first create a superprojection to replace it.
Tip: Consider using flattened tables to replace pre-join projections.
Note: Vertica always enforces identical column order in the SELECT and ORDER BY clauses of live aggregate projection buddies, so these can be safely ignored.
Pre-upgrade script: Depending on database size, runs up to an hour or more.
Deploy file: Calls Vertica meta-function
REFRESH on all projections that require refresh, including all replacement projections.
Important: Refresh operations should be relatively fast, regardless of table size. To remedy unsupported projections,
REFRESH populates new projection buddies by copying storage containers of their source buddies.
If your upgrade fails because of unsupported projections, you must revert to the previous Vertica installation:
If you run the script on Vertica 8.x, the DDL output is liable to reverse the keywords
ACCESSRANK. This problem is observed in all 8.x versions that precede hotfix version 8.1.1.
Was this topic helpful?