问题标签 [postgrest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
963 浏览

postgresql - 使用 PostgREST 插入/更新 PostGIS 几何列

我使用 PostgreSQL 12.1、PostGIS 3.0.0 和 PostgREST 7.0.1 的组合,我对这个设置非常满意。在 PostgREST中有更广泛的 PostGIS 支持的开放增强功能,我很期待。

我有一个带有几何列的表:

使用 SQL,我可以像这样插入纬度 57.20 和经度 17.45 的点:

当使用 PostgREST 查询它时,它表示为 GeoJSON:

但是我需要如何表示几何以便我可以使用 PostgREST 插入/更新?

使用 GeoJSON 会导致 500 内部服务器错误:

与使用 ST_GeomFromText 函数相同:

起作用的是使用内部 PostGIS 字符串表示,但我的 API 客户端手头只有值 17.45 57.20:

是否有任何其他文本表示可以工作,或者是否有可能将 ST_GeomFromText 等函数传递给 PostgREST?任何提示都非常感谢!

0 投票
2 回答
662 浏览

postgresql - PostgREST JSON 字段序列化性能

在 Postgres 中,我有一个表,我运行一个返回最高结果的函数。在没有缓存数据的情况下,此功能大约需要2ms 才能完成,这正是我所需要的。

然后我将 PostgREST 加入其中,因为我需要一个允许服务运行此函数并使用其结果的 HTTP API。

当我对 PostgREST API 进行 curl 时,我得到 0.29 秒的响应时间,即 290 毫秒,而且慢得离谱

是什么让 PostgREST 这么慢?

设置

Postgres 12 和 PostgREST 7.0.1 在同一台机器上运行,我的请求来自同一台机器,所以应该有很少的网络延迟。

代码

0 投票
1 回答
259 浏览

sql - 有人用 PostgRest 和 Postgresql 成功实现了 SQL 用户管理吗?

我正在尝试使用 PostgREST 和 PostgreSQL 实现 SQL 用户管理。PostgRest 官方文档http://postgrest.org/en/v5.2/auth.html#sql-user-management帮助我整理了以下内容:

当我尝试执行 POST 请求时:

我相信这是一个权限问题!我不确定我错过了什么。

0 投票
0 回答
94 浏览

postgrest - 使用 Postgrest 处理文件

我目前正在开发一个 web 应用程序,一个功能是让用户能够以 pdf 的形式下载发票和产品信息。

现在我使用 base64 作为文本并通过 API 发送它。这是不好的做法,如果是这样,您可以使用 Postgrest 发送文件的任何其他方法吗?

0 投票
1 回答
103 浏览

postgrest - 嵌套的嵌入式资源

我是 postgREST 的新手。我已经设置好了,它在我的数据库上运行良好。我正在浏览文档,我想我可以使用Resource Embedding,但我不知道如何让它以嵌套的方式工作。

我的架构具有类似于以下的表:

当我选择 ta an tb 时,资源嵌入有效:

它也适用于 tb 和 tc:

但我不知道如何使它从 ta 到 tc 工作,有点结合两个查询。

有谁知道我怎么能做到这一点?最好使用查询字符串,但也可以使用视图或存储过程。

提前感谢您对此的任何帮助。

PS:使用 Potstgres 12 和 postgREST 7

0 投票
0 回答
149 浏览

postgresql - 错误:无法在 CURL GET 请求中调用 postgres 函数

我在我的远程 PostgreSQL/PostGIS 数据库中有一个自定义函数,它根据给定的坐标找到最近的线串(CRS 中的 lon,lat:4326)。我在 Windows 10(x64 机器)上并使用 PostgREST API 使我的 curl 请求与远程 pg 数据库对话。

卷曲命令是:

我得到错误:

我可以在这里看到一个相关的问题,但我没有得到任何提示。有人可以帮助我理解我做错了什么吗?

0 投票
1 回答
89 浏览

postgrest - 在 POST 请求中嵌入 JSON 字段以使用 PostgREST 插入 PG 的最佳方法

我正在使用 PostgREST 7,并想在 PostgreSQL 中进行简单的插入。我的字段之一是 JSON 字符串,将其插入请求的 JSON 正文会破坏 PostgREST 上的解析。

作为使用简单 JSON 字段的示例,请求如下:

是否有一种支持的方式来编码将在 PostgREST 上解码的 JSON 字符串字段,以便该字段可以作为 JSON 列插入 PG 中?

0 投票
0 回答
117 浏览

reactjs - React-Admin:时间范围过滤器

我正在使用 React-Admin + ra-data-postgrest + PostgREST + PgSQL 来查看非常大的表。对该表的查询必须限制在预定义的最大时间范围内。

我能够使用两个 DateTimeInputs 和 PostgREST 运算符 @lte 和 @gte 来实现时间范围过滤器(DateTimeInputs 的来源分别是 tstmp@lte 和 tstmp@gte),但是 UX 不是很好。

现在我正在尝试改进这个解决方案,只使用一个 DateTimeInput(标签时间戳)和一个 SelectInput(标签间隔),预定义时间间隔:10s,15s,30s,60s,1min,3min,5min,10min,15min...

但我无法将预定义的时间间隔转换为有效的 tstmp@gte 查询值。我可以使用 useListContext() 访问 DateTimeInput 时间戳值,然后我可以将时间间隔值转换为 tstmp@gte 运算符的时间戳值,但我不知道如何将此计算出的值转换为 PostgREST dataProvider 查询。

知道怎么做吗?

0 投票
1 回答
292 浏览

postgrest - PostgREST - 如何创建表?

我想使用 postgREST 创建一个新表,但我无法在文档中找到任何关于此的内容。是否可以创建表格?如果是,如何?

抱歉,如果已经问过这个问题,但不幸的是我总是找到postgres的解决方案(没有t :D)

谢谢 :)

0 投票
1 回答
52 浏览

python - 如何使用 postgREST 和 python 在我的 GET API 请求中实现动态变量?

我正在使用 PostgREST 构建一个 API ...我对如何复制下面的查询感到困惑,更具体地说,是利用 users = 输入的参数 %s

在 python 中,它看起来像这样 =get_data_from_db("SELECT symbol, date, adj_close FROM api.security_price WHERE security_price.symbol IN %s AND date > (SELECT MAX(date) FROM api.security_price) - interval '1 years' ORDER by date;", [placeholders])

在我传递占位符的地方,第二个参数包含用户输入的值。

我如何能够GET使用环境变量来完成用户生成的请求,例如placeholders创建上面完全相同的示例?

这是postgREST 文档,postgres 根据表/列名自动生成 api 模式,非常简单。但是他们没有提到像我这样的案例场景。