greenplum数据字典

greenplum数据字典

ID:10633506

大小:27.67 KB

页数:20页

时间:2018-07-07

greenplum数据字典_第1页
greenplum数据字典_第2页
greenplum数据字典_第3页
greenplum数据字典_第4页
greenplum数据字典_第5页
资源描述:

《greenplum数据字典》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、greenplum是基于postgresql开发的分布式数据库,里面大部分的数据字典是一样的。我们在维护gp的时候对gp的数据字典比较熟悉,特此分享给大家。在这里不会详细介绍每个字典的内容,只会介绍常见的应用以及一些已经封装好了的函数。具体的介绍大家可以去看postgresql的中文文档,里面有详细的解释。   1.postgresql中,所有数据库的对象都是用oid连接在一起的。       这样子会造成我们在理解数据字典的时候有一些不知所措。下面介绍几个函数,可以简化很多的操作。名字引用描述regprocpg_proc

2、函数名字regprocedurepg_proc带参数类型的函数regoperpg_operator操作符名regoperatorpg_operator带参数类型的操作符regclasspg_class关系名      最常用的是regclass,关联数据字典的oid,使用方法如下: aligputf8=#select1259::regclass; regclass———- pg_class(1row)aligputf8=#selectoid,relnamefrompg_classwhereoid=’pg_class’::r

3、egclass; oid 

4、relname ——+———- 1259

5、pg_class(1row)        这样子就可以通过regclass寻找一个表的信息,就不用去关联pg_class跟pg_namespace(记录schema信息)了。比较方便。       同样的,其他几个类型也是一样的用法,如regproc(regprocedure)是跟pg_proc(保存普通函数的命令)关联的。regoper(regoperator)是跟pg_operator(操作符)的oid关联的。Eg:aligputf8=#selec

6、toid::regoper,oid::regoperator,oid,oprnamefrompg_operatorlimit1;    oid     

7、       oid       

8、oid

9、oprname————–+——————-+—–+——— pg_catalog.=

10、=(integer,bigint)

11、 15

12、=(1row)aligputf8=#selectoid::regproc,oid::regprocedure,oid,pronamefrompg_proclimit1; oid  

13、      oid  

14、    

15、oid 

16、proname——–+—————–+——+——— boolin

17、boolin(cstring)

18、1242

19、boolin(1row)       下面给给出如何使用regclass的例子。   2.获取表的字段信息。        表名是放在pg_class,schema名是放在pg_namespace里面的,字段信息是放在pg_attribute里面的。一般是关联这三张表:        eg:        SELECTa.attname,pg_catalog.format_type(a.atttyp

20、id,a.atttypmod)ASdata_type  FROM   pg_catalog.pg_attributea,       (        SELECT c.oid          FROM   pg_catalog.pg_classc           LEFTJOINpg_catalog.pg_namespacen               ONn.oid=c.relnamespace          WHEREc.relname=‘pg_class’           ANDn.nspname=

21、‘pg_catalog’        )b WHEREa.attrelid=b.oid ANDa.attnum>0 ANDNOTa.attisdroppedORDERBYa.attnum;          如果使用regclass就会简化很多:                                  SELECTa.attname,pg_catalog.format_type(a.atttypid,a.atttypmod)ASdata_type  FROM   pg_catalog.pg_attributea

22、WHEREa.attrelid=’pg_catalog.pg_class’::regclass ANDa.attnum>0 ANDNOTa.attisdroppedORDERBYa.attnum;         其实regclass就是一个类型,oid或text到regclass有一个类型转换,跟多表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。