Tables in Vertica are logical entities and they don't store actual data. Data for tables are stored in projections (a kind of object in Vertica). There can be multiple projections on a table but there will/should be atleast 1 projection which must have all the columns included in projection definition and such projections with all columns included are called 'Super Projection'. Other projections may be created considering usage of columns in the query and it may have few specific columns required for query. Each projection will have its own set of data.
SELECT EXPORT_OBJECTS('','schema_name.table_name');
SELECT projection_schema, projection_name, projection_basename,is_super_projection FROM PROJECTIONS WHERE LOWER(anchor_table_name) = 'table_name' ;
Note: Value 'true' in is_super_projection column specify that it is a Super Projection.
select * from ALL_TABLES WHERE LOWER(schema_name) = 'schema_name';
More Detail on tables
select * from TABLES where LOWER(schema_name) = 'schema_name' AND LOWER(table_name) = 'table_name' ;
SELECT table_schema, table_name, column_name, data_type, is_nullable FROM columns WHERE LOWER(table_name) = 'table_name';
ALTER TABLE schema_name.table_name ADD COLUMN column_name INT;
ALTER TABLE schema_name.table_name ALTER COLUMN column_name SET DEFAULT 'Y';
ALTER TABLE schema_name.table_name DROP COLUMN column_name;
ALTER TABLE schema_name.table_name ALTER COLUMN column_name SET DATA TYPE numeric(20,0);
DROP TABLE schema_name.table_name;
[Vertica][VJDBC](3128) ROLLBACK: DROP failed due to dependencies
[Vertica][VJDBC]Detail: Cannot drop Table [tablename] because other objects depend on it [SQL State=2BV01, DB Errorcode=3128]
Syntax for dropping table in such scenario
DROP TABLE schema_name.tablename CASCADE;
CREATE TABLE schema_name.tablename_new LIKE schema_name.tablename INCLUDING PROJECTIONS;
Function 1: SELECT ANALYZE_STATISTICS ('schema_name.table_name');
Function 2: select ANALYZE_HISTOGRAM('schema_name.table_name',100);
Note: 100 in the ANALYZE_HISTOGRAM function specifys that 100 percentage of data to be sampled. This can specified as required.
select ANALYZE_STATISTICS('schema_name.table_name.column_name');
SELECT anchor_table_schema, anchor_table_name, SUM (used_bytes) / (1024^3) AS size_in_gb FROM v_monitor.projection_storage WHERE LOWER(anchor_table_schema) = 'schema_name' AND LOWER(anchor_table_name) = 'table_name' GROUP BY anchor_table_schema, anchor_table_name;
SELECT * FROM LOCKS WHERE LOWER(object_name) like '%schema_name.table_name%';
Vertica][VJDBC](3580) ERROR: Insufficient privilege: USAGE on SCHEMA 'schema_name' not granted for current user [SQL State=42501, DB Errorcode=3580]
Solution: GRANT USAGE ON SCHEMA schema_name to other_user;
SELECT * FROM ALL_TABLES WHERE schema_name IN ('v_catalog','v_monitor') ORDER BY 1,3;