人大金仓数据库KES的数据字典

关键字:

数据字典、人大金仓、KingbaseES

数据字典介绍

数据字典是一种用户可以访问的记录数据库和应用程序元数据的目录,KES常用的数据字典视图有:sys_class , sys_stat_indexes , sys_index , sys_attribute , sys_type , sys_constraint

数据字典

(1)sys_class

目录sys_class记录表和几乎所有具有列或者像表的东西,这包括索引、序列

、视图、物化视图、组合类型和TOAST表。

(2)sys_stat_all_indexes

sys_stat_all_indexes视图将为当前数据库中的每个索引包含一行,该行显示关于对该索引访问的统计信息。sys_stat_user_indexes和sys_stat_all_indexes视图包含相同的信息,但是被过滤得只分别显示用户和系统索引。

(3)sys_index

(4)sys_attribute

(5)sys_constraint

目录sys_constraint存储表上的检查、主键、唯一、外键和其他约束(列约束也不会被特殊对待。每一个列约束都等同于某种表约束)

(6)查询数据库下sequence

test=# select c.relname,c.relkind from sys_class c where c.relkind = 'S';

(7)获取主键信息

select sys_class.relname as sys_table ,sys_attribute.attname as colname,sys_type.typname as typname,sys_constraint.conname as sys_name

from sys_constraint

join sys_class on sys_constraint.conrelid = sys_class.oid

join sys_attribute on sys_attribute.attrelid = sys_class.oid

and sys_attribute.attnum = sys_constraint.conkey[1]

join sys_type on sys_type.oid = sys_attribute.atttypid

where sys_constraint.contype = 'p'

order by sys_class.relname;

(8)所有的数据库对象都是用oid连接在一起的

最常用的是reclass,关联数据字典的oid,使用方法如下:

test=# select oid,relname oid,relname from sys_class where oid = 'sys_class'::regclass;

test=# select 12308::regclass;

这样可以通过regclass寻找一个表的信息,就不用去关联sys_class跟sys_namespace(记录schema信息)了。同样,像regproc跟sys_proc(保存函数,存储过程的命令)关联,regoper是和sys_operator(操作符)的oid是关联的。

test=# select oid::regoper,oid::regoperator,oid,oprname from sys_operator limit 1;

test=# select oid::regproc,oid::regprocedure,oid,proname from sys_proc limit 1;

参考资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值