Vertia的这些事<一>—— 关于vertica的常用操作

在工作中用到vertica,环境都是直接HP的人来部署的,在网上查也很少有学习资料,一下总结了一部分常用操作,仅供参考:

进入vertica的sql环境:
vsql -d dbname -w passwd
创建序列:
CREATE SEQUENCE sq1 MAXVALUE 5000 START 1;
使用序列:
SELECT NEXTVAL('my_seq');
删除序列:
DROP SEQUENCE seq_name;
修改列名:
alter table csaprp.test rename statis_date to statis_month;
增加列:
alter table test.DIM_DETAIL_SVCTYPE add column if_app numeric(10,0);
删除表列:
alter table test.DIM_DETAIL_SVCTYPE drop column if_app;
查找用户:
select * from v_catalog.users;
修改表为分区表:
alter table test.test partition by day_id;
修改表名:
alter table test.test rename to test;
修改表所属用户:
alter table test.test owner to dev_test;
查询表:
select * from tables;
查询注释:
select * from comments where object_name='tb_test';
产生随机数:
SELECT RANDOM();
从vertica数据的表中导出数据到数据文件,shell命令:
echo `vsql -d dbname -U dbadmin -Atq -w xx -c "select * from test.testorder by flow_type_code"> /database/datastage/export/dim_all/test`;

通过数据文件向vertica数据库里加载数据:
copy test.fct_flux_se_bus_res_ana_d from '/database/imp_file/test' on v_dbname_node0002 delimiter '|';
显示表结构:d table;
从vertica数据的表中导出数据到数据文件,shell命令:
``echo vsql -d dbname -U dbadmin -Atq -w Zongfen_12 -c "select * from test.testorder by flow_type_code"> /database/datastage/export/dim_all/test``` 通过数据文件向vertica数据库里加载数据: copy test.test from '/database/imp_file/test' on v_dbname_node0002 delimiter '|';更改字段数据类型alter table test.test alter column cell_id set data type numeric(15,0);对于数值类型: types–INTEGER, INT, BIGINT, TINYINT, INT8, SMALLINT, and all NUMERIC values of scale <=18 and precision 0 之间是可以互相转化的。此外,numeric类型的精度(precision)是无法更改的,但是长度(scale)是可以修改的,(0-18)之间可以 互修改,(19-37)之间可以互修改。 修改表所属的用户alter table test.fct_fournet_wlanap_equp_ana_d owner to dev_test;vertica怎么修改一个表字段允许为空呢,查看官方文档得到:alter table TABLE_NAME alter column prov_name drop not NULL; 杀锁:SELECT transaction_id FROM locks; ---查看transaction_id SELECT * FROM sessions where transaction_id=<>; SELECT INTERRUPT_STATEMENT('<session_id>', '<statement_id>');`

原文地址:https://www.cnblogs.com/qinchaofeng/p/12667999.html