Hasura GraphQL 内部表结构

Hasura 使用pg 数据库存储引擎的元数据信息,在hdb_catalog schema 下面,是在初始化的时候生成的
对于表的管理、权限的信息存储都在这个schema下

hdb_table

这个表包含了所有通过web界面或者cli工具管理的表以及视图

列的定义

  • table_schema: 表或者视图的schmema
  • table_name: 表或者视图的名称
  • is_system_defined: 标示是否是系统表
    参考例子

hdb_relationship

定义表的约束以及手工添加的关系

列的定义

  • table_schema: schema
  • table_name: 表或者视图的名称
  • rel_name: 关系的名称
  • rel_type: 关系的类型,object 或者array
  • rel_def: 关系的定义,驻主外建约束以及自定义管理的配置,是一个json对象
  • comment: 备注
  • is_system_defined: 标示是否是系统定义,区分引擎以及人工操作
    参考

hdb_permission

定于访问权限信息的

列的定义

  • table_schema: schema
  • table_name: 表名称
  • role_name: 角色名称
  • perm_type: 权限类型 (insert/select/update/delete).
  • perm_def: 权限的具体操作定义(基于json)
  • comment: 备注信息
  • is_system_defined: 区分是引擎的操作还是用户自己的操作
    参考

说明

以上支持老版本的说明,文档来自官方文档,实际上,还有event 的定义,包含了日志以及状态,同时类似也包含一些视图,还有一种查询
模版表,暂时界面没有发现用途,实际上还是挺有用的,而且Hasura 迭代还是比较快的,后期还会有变动。

参考资料

https://docs.hasura.io/1.0/graphql/manual/engine-internals/index.html

posted on   荣锋亮  阅读(996)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2017-11-13 Jitsi 开源视频会议远程桌面共享&&文档共享工具
2017-11-13 gradle build scan 插件使用

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示