下载postgresql,可以根据操作系统类型选择二进制包,解压后直接可以使用

https://github.com/begriffs/postgrest

其次,在postgresql中创建账户,并赋予select权限

stock=# create role tester login password '111111';
stock=# grant select on stock_info to tester;

创建配置文件psql.conf

  db-uri = "postgres://tester:111111@localhost:5432/stock"db-schema = "public"db-anon-role = "tester"db-pool = 10server-host = "*4"server-port = 3000## base url for swagger output# server-proxy-uri = ""## choose a secret to enable JWT auth## (use "@filename" to load from separate file)# jwt-secret = "foo"# secret-is-base64 = false## limit rows in response# max-rows = 1000## stored proc to exec immediately after auth# pre-request = "stored_proc_name"

执行nohup  ./postgrest stock.conf > postgrest.log &

postgret的select查询规则如下所示,使用get方式提交请求:

http://localhost:3000/stock_info?select=close,tradingdate&tradingdate=lt.20160429&order=close.desc&limit=15

url中包含表名?select=字段名1,字段名2&过滤条件字段=比较运算符.值&order=排序字段.正序&limit=数量

其中比较运算符包括:

abbreviation meaning
eq equals
gte greater than or equal
gt greater than
lte less than or equal
lt less than
neq not equal
like LIKE operator (use * in place of %)
ilike ILIKE operator (use * in place of %)
in one of a list of values e.g. ?a=in.1,2,3
is checking for exact equality (null,true,false)
@@ full-text search using to_tsquery
@> contains e.g. ?tags=@>.{example, new}
<@ contained in e.g. ?values=<@{1,2,3}
not negates another operator, see below

由于postgrest不能执行复杂的sql查询命令,所以可以使用存储过程,将复杂的sql查询包成函数,提供给postgrest调用,例子如下:

首先在postgresql中定义存储过程:

CREATE FUNCTION add_them(a integer, b integer)
RETURNS integer AS $$SELECT $1 + $2;
$$ LANGUAGE SQL IMMUTABLE STRICT;

web端使用post方式,url中包含存储过程的名字,提交参数

POST /rpc/add_them HTTP/1.1{ "a": 1, "b": 2 }

如果参数中有数组可以如下方式:

POST /rpc/native_array_func HTTP/1.1{ "arg": "{1,2,3}" }

参考

https://postgrest.com/en/v0.4/api.html#custom-queries

postgrest 简单使用相关推荐

  1. 使用Postgrest快速创建数据库的OpenAPI接口

    下载镜像 docker pull postgrest/postgrest 正确运行需要修改postgrest配置文件.可以修改镜像中的配置文件/etc/postgrest.conf,或者修改运行的环境 ...

  2. 使用PostgREST的RestAPI操作之相关软件生态系统

    使用PostgREST的RestAPI操作之相关软件生态系统 示例应用程序 tatut / postgrest-ui -PostgREST的ClojureScript UI组件 priyank-pur ...

  3. 使用PostgREST的RestAPI操作之管理与优化

    使用PostgREST的RestAPI操作之管理与优化 硬化PostgREST  PostgREST是构建RESTful API的快速方法.它的默认行为非常适合开发中的脚手架.只要您采取预防措施,当需 ...

  4. 使用PostgREST的RestAPI操作之安装教程

    使用PostgREST的RestAPI操作之安装教程 二进制版本 [ 从发行页面下载 ] 该发行页面具有针对Mac OS X,Windows和多个Linux发行版的预编译二进制文件.解压缩tarbal ...

  5. 使用PostgREST的RestAPI操作之角色系统教程

    角色系统概述 PostgREST旨在使数据库始终处于API安全性的中心.所有授权都是通过数据库角色和权限进行的.PostgREST的工作是对请求进行身份验证(即验证客户端是否是他们所说的身份),然后让 ...

  6. 使用PostgREST的RestAPI操作PostgreSQL数据库教程

    使用PostgREST的RestAPI操作PostgreSQL数据库教程 表和视图 公开的架构中的所有视图和表均可被查询的活动数据库角色访问,并且可供活动数据库角色访问.它们暴露在一级深度路线中.例如 ...

  7. 使用PostgREST构建PostgreSQL数据库的REST风格API

    使用PostgREST构建PostgreSQL数据库的REST风格API 欢迎使用PostgREST!在本教程中,我们将使事情开始运行,以便您可以创建第一个简单的API. PostgREST是一个独立 ...

  8. magic feature_停止将PostgREST称为“ MAGIC”!

    magic feature by Ruslan Talpă 通过RuslanTalpă 停止将PostgREST称为" MAGIC"! (Stop calling PostgRES ...

  9. 初识postgrest

    postgrest是什么 PostgREST 是一个独立的 Web 服务器,为 PostgreSQL 数据库生成 RESTful API. 它提供基于底层数据库结构定制的 API. postgrest ...

最新文章

  1. 几乎涵盖你需要的SpringBoot所有操作|高清PDF
  2. OpenCV之imwrite()等基本操作
  3. python与access选哪个_从Python连接到Access
  4. activeMQ发送与接受消息模板代码
  5. 风控成长之路---必知必会工具与业务
  6. HDU2035 人见人爱A^B【快速模幂】
  7. asp Eval()函数的一些使用总结
  8. 【主成分分析法】NLPer的断舍离(上篇)
  9. android斗鱼app源代码,android文件管理器源码、斗鱼直播源码、企业级erp源码等
  10. 学校计算机基础考试教学,计算机基础大一考试题 浅谈中等职业学校计算机基础课程教学设计原则...
  11. 您有一张H5新年贺卡未领取
  12. 闭环整流电路matlab仿真,分享:基于双闭环的单相整流器原理简介及仿真验证
  13. Licheepi zero SPI Flash 系统编译
  14. 火狐浏览器解除端口限制
  15. Week Day总结
  16. mongo启动报错:ERROR: child process failed, exited with error number 1
  17. 2017年研究生数学建模优秀论文汇总
  18. Chrome下如何复制禁止复制网页上的文字
  19. 服务器上的东西丢了怎么找回来,东西丢了不要急,教你用周易古诀找回失物!...
  20. 大数据项目实训总结_大数据实习报告.doc

热门文章

  1. 数学知识整理:二重积分
  2. 移动软件开发:安卓APP首页构建
  3. php网页爬虫-简单的类
  4. Python大数据+人工智能 学科视频教程
  5. Java高性能系列-(一)VM生命周期
  6. UEditor富文本编辑器不显示问题
  7. 我的第一本英文书读书心得
  8. JWT详细教程与使用
  9. 关于无符号整数的加法
  10. 使用pygame前的小插曲