ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:63.04KB ,
资源ID:254758      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/254758.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(vertica基本操作.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

vertica基本操作.docx

1、vertica基本操作1.schema1. 如何查看schema?在vsql里面,直接用 dn 可以查看:dbadmin= dn List of schemas Name | Owner | Comment -+-+- v_internal | dbadmin | v_catalog | dbadmin | v_monitor | dbadmin | public | dbadmin | v_txtindex | dbadmin | v_idol | dbadmin | ylods | dbadmin | yledw | dbadmin | yldm | dbadmin | (9 rows)在

2、DBVis里面,在左侧界面就可以看到。执行select语句:select * from schemata;2. 查询用户和schema的信息:SELECT u.user_name, s.schema_name FROM users u LEFT OUTER JOIN schemata s ON u.user_name = s.schema_owner;3. 创建schema,将schema授权给用户。create schema xmm;grant all on schema xmm to xmm;4. 如何查看用户对哪些schema具有操作权限?查询v_catalog架构下的grants表,可

3、以看到授权情况:通过grant all on schema xmm to xmm;语句授权,只能授予usage权限和create权限。如果需要增加其他增删改查等(INSERT*, SELECT*, UPDATE*, DELETE*, REFERENCES*, USAGE*, CREATE*, TRUNCATE*)权限,还需要单独授权:grant insert on schema xmm to xmm;5. 不同的对象拥有的权限。权限如下:对象权限说明schemaUSAGE,CREATEschemaINSERT*,SELECT*, UPDATE*,DELETE*, REFERENCES*,USA

4、GE*, CREATE*, TRUNCATE*ProcedureEXECUTE、EXECUTE*新创建的用户仅对PUBLIC拥有USAGE权限,数据库用户必须为新用户显式授予CREATE权限,并为他们授予各个对象权限,以便新用户可以在public架构中创建或者查找对象。6. 不同的对象操作需要的权限要求表相关的操作:操作必需权限create table对于架构的create权限。如果需要在create table时需要引用序列,需要以下权限: 对于序列架构的usage权限 对于序列对象的select权限drop table对于包含表的架构或者架构所有者的usage权限truncate tabl

5、e对于包含表的架构或者架构所有者的usage权限alter table add/drop/rename/alter clolumn对于包含表的schema的usage权限alter table add/drop constraint对于包含表的schema的usage权限alter table partition(reorganize)对于包含表的schema的usage权限alter table rename对于包含表的架构的usage和create权限alter table set schema对于新schema的create权限;对于旧schema的usage权限select对于表的se

6、lect权限和包含表的schema的usage权限insert对于表的insert权限和包含表的schema的usage权限delete对于表的delete权限和包含表的schema的usage权限update对于表的update权限和包含表的schema的usage权限references表中的references权限,可创建引用此表的外键约束。需要对于包含被约束表和外键源的schema的usage权限。analyze_statistics()对于表的insert/update/delete权限;包含表的schema的usage权限analyze_histogram()对于表的insert/

7、update/delete权限;包含表的schema的usage权限drop_statistics()对于表的insert/update/delete权限;包含表的schema的usage权限drop_partition()包含表的schema的usage权限投射(projection):这里的投射,其实是起到索引或者视图的作用。操作必需权限create projection对于锚表的select权限;对于包含锚表的schema的usage权限;对于将包含投射的schema的create权限。注意: 如果使用表隐式创建投射,则除了表创建权限以外,无需额外的权限。alter projection

8、 rename对于包含投射的架构的usage和create权限drop projection对于包含投射的schema的usage权限外部过程:操作必需权限create procedure超级用户drop procedure超级用户execute对于过程的execute权限;对于包含该过程的schema的usage权限序列:操作必需权限create sequence对于将包含序列的schema的create权限create table with sequence对于序列的select权限;对于序列架构的usage权限drop sequence对于包含序列或序列所有者的架构的usage权限alt

9、er sequence rename to对于架构的usage和create权限alter sequence set schema对于当前包含序列的schema的usage权限;对于将要包含序列的新schema的create权限currval() nextval()对于序列的select权限;对于包含序列架构的usage权限7. 可以为表中的行或列创建访问策略。有行访问策略和列访问策略。列访问策略:create access policy on 架构名.表名 for column 列名 条件 enable;行访问策略:create access policy 架构名.表名 for rows w

10、here 条件 enable;创建列访问策略可以让不同的用户(角色)运行同一查询并收到不同的结果。在访问策略中指定的条件决定用户是否能够看到策略所限制的数据。具有dbadmin权限的用户,可以启用和禁用表中的单独访问策略。注意点:1. 每个表只能有一个行访问策略。如果以后需要添加更多策略,需要将策略放在单个where谓词中,并使用alter access policy启用新条件。8. 查看数据库角色。select * from roles;2.表1. v_catalog架构下的constraint_columns表,可以看到表列的限制条件,也包括非空(not null)条件。2. 建表语句中,

11、字段类型int可以正常使用,需要用到浮点数时,用numeric()。create table customer(cust_id int,cust_name varchar(10),gender varchar(3) segmented by hash(cust_id) all nodes ksafe;在建表语句中,all nodes必须有,否则会报语法错误。3. oracle里面的rownum 在vertica中不能够使用,部分功能可以使用limit来替换。select * from t limit 6;select projection_schema from projections whe

12、re projection_schema=xmm limit 2;4. 子查询的写法:Oracle里面该语句可以正常执行:select distinct area2code, area2name, dept1code, dept1name from YLDM.T_L1_DM_SUMDATA A where not exists (select 1 from YLEDW.T_L1_EDW_REGIONMAP B where A.AREA2CODE = B.AREA2CODE AND A.DEPT1CODE = B.DEPTCODE AND YEAR = 2012)但是在Vertica中执行会报错

13、如下:Code: 2784, SQL State: 0A000 VerticaVJDBC(2784) ERROR: Correlated subquery could not be flattened as a join解决:将子查询中的AND YEAR = 2012放到子查询外围即可正常执行:select distinct area2code, area2name, dept1code, dept1name from YLDM.T_L1_DM_SUMDATA A where not exists (select 1 from YLEDW.T_L1_EDW_REGIONMAP B where

14、A.AREA2CODE = B.AREA2CODE AND A.DEPT1CODE = B.DEPTCODE )AND YEAR = 20123.projection1. 建表同时指定分布健,那么projection就会立即创建,分布健就是指定的字段,即使以后插入数据projection不变;建表的时候不指定分布键,那么会在插入第一条数据的时候创建projection,而且projection的分布健包含该表所有字段。2. 每个手工创建的projection会自动生成2个子projection。3. 如果某些字段是分布键字段(segment by里面的字段),那么不能修改其数据类型。建表时要是不指定分布键, 那这个表的所有字段都不能修改,因为默认表会把所有字段作为分布键。所以为了以后的修改和存储方便,最好是在建表时直接指定分布键。4.其他操作DBV里面中文字符乱码问题处理:在SQL Commander中,sql语句中如果有中文,显示是口口口。解决办法如下:在Tools-tool Properties-General-Appearance-Fonts-SQL Editor选择PMingLiU,同时把Grid也选择PMingLiU就可以了。如上配置以后,中文就可以正常显示了。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1