2. You can manually to monitor projection usage when and how it was used if no records => not used, or define a time threshold for unused projections and extract all INPUT usages.
Also you can find this function useful to identify projections for table:
daniel=> \a Output format is unaligned. daniel=> \t Showing only tuples. daniel=> select get_table_projections('test'); get_table_projections|Current system K is 0. # of Nodes: 1. Table public.test has 1 projections.
(sorry for poor English) All table projections are populated when data is inserted/updated. So if a table was updated so a projection that does not used by a query, not asked, still will appear in table PROJECTION_USAGE. So don't count io_type - WRITE.
Threshold? Never mind - term(What is unused? Never used by select? Or last usage was year ago?)
Comments
1. You can try WORKLOAD_ANALYZER, but it depends how long database is active?
WLA reports about unused projection.
https://my.vertica.com/docs/7.0.x/HTML/index.htm#Authoring/AdministratorsGuide/WorkloadAnalyzer/Anal...
2. You can manually to monitor projection usage when and how it was used
if no records => not used, or define a time threshold for unused projections and extract all INPUT usages. Also you can find this function useful to identify projections for table:
Porjection_usage would work. But what is the time threshold assuming its a fairly active DB.
All table projections are populated when data is inserted/updated.
So if a table was updated so a projection that does not used by a query, not asked, still will appear in table PROJECTION_USAGE. So don't count io_type - WRITE.
Threshold? Never mind - term(What is unused? Never used by select? Or last usage was year ago?)
>> assuming its a fairly active DB.
So may be try WLA? WLA created for tasks like this.