环境准备 机器pg 数据库地址修改为haproxy 的ip地址,端口是haproxy的tcp 端口,配置比较简单 hasura graphql-engine docker-compose version: '3.6' services: graphql-engine: image: hasura/graphql-engine:v1.0.0-alpha30 ports: - "8080:8080" environment: - "POSTGRES_PASSWORD:dalong…
patroni 是一个基于zk.etcd .consul 等的pg ha 模版,我们可以使用这个工具,快速的搭建一套 pg 的高可用方案 环境准备 mac 操作系统 安装基础差组件 brew install postgresql etcd haproxy libyaml python 安装python依赖 pip install patroni[etcd] 测试 clone 测试代码 git clone https://github.com/zalando/patroni.git 服务启动 et…
  hasura graphql 的安装可以参考相关项目 创建函数 数据表创建 CREATE TABLE sql_function_table ( id SERIAL PRIMARY KEY, input text NOT NULL, output text ); 创建函数以及触发器 CREATE FUNCTION test_func() RETURNS trigger AS $emp_stamp$ BEGIN NEW.output := UPPER(NEW.input); RETURN NEW…
Hasura 使用pg 数据库存储引擎的元数据信息,在hdb_catalog schema 下面,是在初始化的时候生成的 对于表的管理.权限的信息存储都在这个schema下 hdb_table 这个表包含了所有通过web界面或者cli工具管理的表以及视图 列的定义 table_schema: 表或者视图的schmema table_name: 表或者视图的名称 is_system_defined: 标示是否是系统表 参考例子 hdb_relationship 定义表的约束以及手工添加的关系 列的…
不像大部分的graphql 引擎,使用标准的graphql 规范的处理模型,Hasura graphql 不存在resolver 的概念(实际上是有的,只是转换为了sql语法) 以下是Hasura graphql 引擎的内幕 表的处理 假设有一张表 profile(id,name) 需要暴露为graphql api ,以下是Hasura 的处理方式 根据表生成一个graphql 类型(type) 根据表生成聚合函数的graphql 类型 同时还会生成关系聚合函数的数据类型 生成查询参数 wher…
hasura 使用一个基于pg数据库的graphql引擎,他的设计比postgrpahql 有好多方便的地方,同时使用也比较简单 安装 docker && docker-compose curl -L https://cli.hasura.io/install.sh | bash hasura init --directory my-project cd my-project/install-scripts docker-compose up -d 生成结果 ├── config.yaml…
本文将介绍如何对PG数据库进行导入.导出,主要利用的是PG自带的pg_dump.pg_dumpall.pg_restore.psql等命令,版本是9.4(不同版本的pg_dump \ pg_restore选项可能会有些不同,请注意).导出.导入的整体思路是: 导出全局对象,如用户.编码.权限等,产生文件global-objs.dmp 导出每个数据库中的对象.结构,如建库语句.用户.权限.编码.表结构.自定义类型等,产生 [库名]-objs.dmp文件,如dxm-objs.dmp 导出每个数据库中…
torodb 可以方便的将mongo 数据实时同步到pg,hasura graphql 可以方便的将pg 数据暴露为graphql api,集成在一起真的很方便 环境准备 docker-compose 文件 version: '2' services: graphql-engine: image: hasura/graphql-engine:v1.0.0-alpha27 ports: - "8080:8080" command: > /bin/sh -c " graph…
hasura graphql server 是一个很不错的graphql 引擎,当前版本已经支持event triiger 了 使用此功能我们可以方便的集成webhook功能,实现灵活,稳定,快捷的消息驱动的应用 webhook 使用benthos ,简单例子参考 https://www.cnblogs.com/rongfengliang/p/9569811.html 一张参考图 环境搭建 使用docker-compose docker-compose 文件 version: '3.6' ser…
hasura skor 是一个hasura 团队早期的event triggerpg 扩展,新的推荐使用graphql engine 参考架构 缺点 只有在skor 运行的时候,数据才可以被捕捉处理 如果webhook 失败了,不会触发重试 说明 推荐使用还是graphql engine 更灵活方便,扩展性也更好 参考资料 https://github.com/hasura/skor https://docs.platform.hasura.io/0.15/platform/manual/mic…