原理很简单就是就有http fdw 获取数据,然后结合plv8 处理json 数据

环境准备

  • docker-compose 文件
version: "3"
services: 
  pgspider-fdw:
    image: dalongrong/pgspider:gzip-http-plv8
    ports: 
    - "5432:5432"
    environment: 
    - "POSTGRES_PASSWORD=dalong"
  • 启动
docker-compose up -d

使用

  • 创建扩展
create extension plv8;
create extension http;
  • 集成查询
// 创建数据类型
CREATE TYPE rec AS (origin text);
// 创建函数
CREATE or replace FUNCTION apps() RETURNS SETOF rec AS
$$
    var ip = plv8.execute(`select content FROM http_get('http://httpbin.org/ip')`);
    return [{"origin": JSON.parse(ip[0].content).origin}]
$$
LANGUAGE plv8;
// 数据查询
select * from apps();
  • 效果

说明

以上是一个简单的集成使用,实际上结合plv8 以及http fdw 我们可以开发灵活的系统

参考资料

https://github.com/plv8/plv8
https://github.com/pramsey/pgsql-http
https://www.cnblogs.com/rongfengliang/p/12372879.html

最新文章

  1. 解决eclipse中自带的maven搜索不到非本地第三方包问题
  2. maven下载速度慢的解决方法(转)
  3. c# random string
  4. C#学习笔记---协变和逆变
  5. AndroidStudio第一个项目HelloWorld
  6. Java接口回调
  7. Codeforces Round #324 (Div. 2) C. Marina and Vasya 贪心
  8. BZOJ_1180_[CROATIAN2009]_OTOCI_(LCT)
  9. FTP上传下载
  10. HDU-2188 悼念512汶川大地震遇难同胞——选拔志愿者
  11. editplus的设置
  12. BZOJ 3551: [ONTAK2010]Peaks加强版 [Kruskal重构树 dfs序 主席树]
  13. 论文学习:Fully Convolutional Networks for Semantic Segmentation
  14. Libgdx 1.6.0发布,跨平台游戏开发框架
  15. Graphviz
  16. SpringBoot 添加fastjson
  17. 算法工程师B
  18. python 爬虫随机获取User-Agent
  19. listview item 动画
  20. jQuery ajax - getJSON() 用法实例

热门文章

  1. Spark教程——(10)Spark SQL读取Phoenix数据本地执行计算
  2. Integer a = 200,b=200比较详解
  3. CDC学习
  4. redis集群配置文件
  5. Golang gin框架学习
  6. Java8 HashMap详解
  7. Numpy中 arange() 的用法
  8. 【快学springboot】2.Restful简介,SpringBoot构建Restful接口
  9. 【剑指Offer面试编程题】题目1371:最小的K个数--九度OJ
  10. postgresql shell脚本传递参数并执行sql脚本并