问题标签 [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 回答
159 浏览

curl - Postgresql v12 函数在 Json 中返回函数名称

这是函数所需的查询结果:

它在 pgAdmin4 中通过以下方式正确生成:SELECT api.add_them(1,2) in 4。

但是,当使用 Windows Curl 或 Android Studio 应用程序调用该函数时,它会生成:

因此,函数名称被包含在主体周围的包装中。

Windows curl 脚本是:

功能是:

0 投票
0 回答
447 浏览

xml - 在 Postgres 中将 JSONB 转换为 XML

我有一张桌子

我想将数据库从使用 XML 转换为 JSONB 来存储该数据。我想在一个 3 个阶段的过程中做到这一点:

  1. 创建一些将现有数据即时转换为 JSONB 的视图/函数;通过 Postgrest API 浮出水面
  2. 将现有系统从使用 XML 迁移到使用 JSONB,淘汰旧的 API 代码
  3. 将列从 XML 永久转换为 JSONB

这允许软件处理旧的 API(使用 XML 数据),同时我正在重构它的一部分以使用新的 API (JSONB)。一旦重构完成,我就可以关闭旧的 XML —— 快乐的日子。

我找到了将数据从 XML 转换为 JSONB 的答案:如何在 Postgres 中将 XML 转换为 JSONB

通过一些修改,我可以让它(非常)接近我现有的代码。简而言之,我可以将其转换为:

对此

编辑:由于@404 的反馈,上述内容略有修改

但是我需要一些方法来允许重构的代码将 JSONB 发送到新的(Postgrest)API,然后将数据转换为 XML,以便它仍然可以被非重构代码使用。

我已经查看了XML 函数,但我正在努力做到这一点,以便我可以动态地将 JSONB 转换回 XML 表单(只要我能回到这里,如果它有点混乱也没关系后面的 JSON 形式)。看起来我可以做到这一点

但是当我尝试这样做时

如您所料,您会得到这样的 XML 输出...

<key>{"@value": "captain", "@attributes": {"is": "your"}}</key>

...其中 XML 元素称为“ key ”,而不是 key的值(在本例中为“this”)。

使用该xmlattributes函数时我遇到了类似的问题 - 我无法为属性指定来自数据库查询的名称。

有没有办法动态设置 XML 元素标签名称和属性名称?

更新:阅读下面的评论;无论如何,以上可能是错误的方法。如果有办法,我已经把问题留了下来,因为它可能会在未来帮助某人……但对我来说,我需要先重新考虑数据结构。

0 投票
1 回答
57 浏览

php - 如何在数据库列中获取数组?拉拉维尔

我想在数据库中获取数组,它在数据库查询中工作(我的数据库我使用 postgrest)但在我的项目 laravel 中不起作用。错误消息 -> 未定义列:7 错误:列 sample1.text[1] 不存在

我需要价值

我的代码

在我的数据库查询中它工作

0 投票
1 回答
214 浏览

docker - 如何使用第二个 docker 实例?

假设第二个 docker 实例的命令是

结果

这没有任何意义,因为使用-p 3002:3002 -e SERVER_PORT="3002"... 是否可以运行?配置错误在哪里?

注意:第一个 docker 是由docker run -d --net=host -p 3000:3000 -e PGRST_DB_URI="postgres://postgres@localhost/prod0" -e PGRST_DB_ANON_ROLE="postgres" postgrest/postgrest


另请参阅https://github.com/PostgREST/postgrest/issues/1442

0 投票
1 回答
130 浏览

aws-fargate - 使用机密在 AWS 中连接时出现 PostgREST 错误

目前在 AWS 中部署 PostgREST。当我使用 Fargate 并在连接字符串的环境变量中硬编码类型时,机器就像一个魅力。但是我最近用秘密替换了这些值。在秘密中,我将整个字符串复制粘贴到值中,并在环境变量中将源从“Value”设置为“ValueFrom”。

所以现在的价值是:

当我直接在环境变量中使用这个连接字符串时,我可以轻松连接,所以我知道信息是正确的。

日志返回以下错误:

{"details":"missing \"=\" after \"{\"postgrest_db_connection\":\"postgres://myuser:mypass@amazon-rds-instance:5432/db\"}\" 在连接信息字符串中\n","code":"","message":"数据库连接错误"}

我还检查了字符串中没有需要转义的字符。我在这里能错过什么?

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
106 浏览

postgresql - PostgREST 自定义函数平面数组而不是 key:value

我有这个自定义函数从数据列表中查询组。结果,我收到了我唯一的查询结果,但作为嵌套对象[{substance: 'value'}]。它希望我的回答是[value, value, value]

SQL:

回复:

需要回复:

0 投票
4 回答
1401 浏览

google-cloud-sql - Google Cloud SQL 上的 PostgREST:unix 套接字 URI 格式?

你们中的任何人都有 PostgREST 和 Cloud SQL 的经验吗?

我的 SQL 实例已准备好开放访问 (0.0.0.0/0),我可以使用云代理应用程序通过本地 PostGREST 访问它。

现在我想从同一个项目的一个实例中运行 Postgrest,但我找不到支持 Cloud SQL 格式的 Postgrest URI 格式,因为 Google SQL Cloud 只使用 unix 套接字,如/cloudsql/INSTANCE_CONNECTION_NAME

配置 1

退货{"details":"could not translate host name \"unix(\" to address: Unknown host\n","code":"","message":"Database connection error"}

配置 2

解析器拒绝问号 {"details":"invalid URI query parameter: \"unix_socket\"\n","code":"","message":"Database connection error"}

配置 3

server-unix-socket似乎只采用套接字锁定文件路径。喂它/cloudsql/INSTANCE_CONNECTION_NAME尝试删除文件,如 `postgrest.exe: /cloudsql/INSTANCE_CONNECTION_NAME: DeleteFile "/cloudsql/INSTANCE_CONNECTION_NAME": invalid argument t (文件名、目录名或卷标语法不正确。)

文档

云 SQL 文档

PostgREST

环境

  • PostgreSQL 版本:11
  • PostgREST 版本:6.0.2
  • 操作系统:Win10和Alpine
0 投票
1 回答
2613 浏览

postgresql - postgresql 中的 NOLOGIN 用户有什么用?

我正在尝试了解PostgREST教程的初始步骤。

在上述教程中,建议创建两个不同的角色web_anonauthenticationator,如下所示:

据我所知,PostgREST 服务器从客户端接收 Rest API 请求,没有任何关于用户(角色)的信息。而且,据我所知,nologin 角色无法登录数据库。(他们可以发送查询吗?)

所以问题是:

  1. 为什么我们需要两个不同的角色?web_anon 的作用是什么,authenticator 的作用是什么?

  2. nologin角色在 postgres 中可以做什么?

  3. 当 PostgREST 接收到一个 REST API 查询时,它使用哪个用户向数据库发送和执行该查询?

0 投票
1 回答
37 浏览

postgresql - postgrest 检索排名结果

我做了一个游戏,将级别和分数保存到这样的 sql 表中:

我想在 ui 中显示分数以及每个分数的排名,基于分数列,按 desc 排序。

这是一个示例数据:

这是我想要的:

无论结果集如何,我都想根据完整表检索排名。

我正在使用 postgrest 网络服务器。

我怎么做 ?

0 投票
1 回答
285 浏览

jwt - 函数符号(json,未知)不存在

我正在关注https://postgrest.org/en/v5.0/auth.html#jwt-from-sql上的教程

我创建了这个函数:

当我尝试执行登录请求时,我收到以下错误消息:

{ "hint": "没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。", "details": null, "code": "42883", "message": "function public.sign (json,未知)不存在”}

我在教程中的任何地方都没有看到符号功能,有人知道这里发生了什么吗?