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

来源:互联网 发布:开网络棋牌 编辑:程序博客网 时间:2024/06/18 15:43

在工作中用到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.tb_rp_ct_olcs_work_list_dispose_mon 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.fct_fournet_wlanap_equp_ana_d partition by day_id;
  • 修改表名:alter table test.fct_fournet_wlanap_equp_ana_d_x rename to fct_fournet_wlanap_equp_ana_d;
  • 修改表所属用户:alter table test.fct_fournet_wlanap_equp_ana_d owner to dev_test;
  • 查询表:select * from tables;
  • 查询注释:select * from comments where object_name='tb_rp_ct_rena_new_in_man_audit_day';
  • 产生随机数:SELECT RANDOM();
  • 从vertica数据的表中导出数据到数据文件,shell命令:echo `vsql -d dbname -U dbadmin -Atq -w Zongfen_12 -c "select * from test.dim_flow_direction order by flow_type_code"> /database/datastage/export/dim_all/test`;
  • 通过数据文件向vertica数据库里加载数据:copy test.fct_flux_se_bus_res_ana_d from '/database/imp_file/fct_flux_se_bus_res_ana_d' on v_dbname_node0002 delimiter '|';
  • 显示表结构:\d table;
  • 从vertica数据的表中导出数据到数据文件,shell命令:
        echo `vsql -d dbname -U dbadmin -Atq -w Zongfen_12 -c "select * from test.dim_flow_direction order by flow_type_code"> /database/datastage/export/dim_all/test`
  • 通过数据文件向vertica数据库里加载数据:
      copy test.fct_flux_se_bus_res_ana_d from '/database/imp_file/fct_flux_se_bus_res_ana_d' on v_dbname_node0002 delimiter '|';
  • 更改字段数据类型
             alter table test.dim_micro_area_gsm 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>');

0 0