原理很簡單就是就有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
