问题标签 [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.
curl - Postgresql v12 函数在 Json 中返回函数名称
这是函数所需的查询结果:
它在 pgAdmin4 中通过以下方式正确生成:SELECT api.add_them(1,2) in 4。
但是,当使用 Windows Curl 或 Android Studio 应用程序调用该函数时,它会生成:
因此,函数名称被包含在主体周围的包装中。
Windows curl 脚本是:
功能是:
xml - 在 Postgres 中将 JSONB 转换为 XML
我有一张桌子
我想将数据库从使用 XML 转换为 JSONB 来存储该数据。我想在一个 3 个阶段的过程中做到这一点:
- 创建一些将现有数据即时转换为 JSONB 的视图/函数;通过 Postgrest API 浮出水面
- 将现有系统从使用 XML 迁移到使用 JSONB,淘汰旧的 API 代码
- 将列从 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 元素标签名称和属性名称?
更新:阅读下面的评论;无论如何,以上可能是错误的方法。如果有办法,我已经把问题留了下来,因为它可能会在未来帮助某人……但对我来说,我需要先重新考虑数据结构。
php - 如何在数据库列中获取数组?拉拉维尔
我想在数据库中获取数组,它在数据库查询中工作(我的数据库我使用 postgrest)但在我的项目 laravel 中不起作用。错误消息 -> 未定义列:7 错误:列 sample1.text[1] 不存在
我需要价值
我的代码
在我的数据库查询中它工作
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
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":"数据库连接错误"}
我还检查了字符串中没有需要转义的字符。我在这里能错过什么?
postgresql - PostgREST 自定义函数平面数组而不是 key:value
我有这个自定义函数从数据列表中查询组。结果,我收到了我唯一的查询结果,但作为嵌套对象[{substance: 'value'}]
。它希望我的回答是[value, value, value]
。
SQL:
回复:
需要回复:
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
- http://postgrest.org/en/v6.0/configuration.html
- https://github.com/PostgREST/postgrest/issues/1186
- https://github.com/PostgREST/postgrest/issues/169
环境
- PostgreSQL 版本:11
- PostgREST 版本:6.0.2
- 操作系统:Win10和Alpine
postgresql - postgresql 中的 NOLOGIN 用户有什么用?
我正在尝试了解PostgREST教程的初始步骤。
在上述教程中,建议创建两个不同的角色web_anon和authenticationator,如下所示:
据我所知,PostgREST 服务器从客户端接收 Rest API 请求,没有任何关于用户(角色)的信息。而且,据我所知,nologin 角色无法登录数据库。(他们可以发送查询吗?)
所以问题是:
为什么我们需要两个不同的角色?web_anon 的作用是什么,authenticator 的作用是什么?
nologin角色在 postgres 中可以做什么?
当 PostgREST 接收到一个 REST API 查询时,它使用哪个用户向数据库发送和执行该查询?
postgresql - postgrest 检索排名结果
我做了一个游戏,将级别和分数保存到这样的 sql 表中:
我想在 ui 中显示分数以及每个分数的排名,基于分数列,按 desc 排序。
这是一个示例数据:
这是我想要的:
无论结果集如何,我都想根据完整表检索排名。
我正在使用 postgrest 网络服务器。
我怎么做 ?
jwt - 函数符号(json,未知)不存在
我正在关注https://postgrest.org/en/v5.0/auth.html#jwt-from-sql上的教程
我创建了这个函数:
当我尝试执行登录请求时,我收到以下错误消息:
{ "hint": "没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。", "details": null, "code": "42883", "message": "function public.sign (json,未知)不存在”}
我在教程中的任何地方都没有看到符号功能,有人知道这里发生了什么吗?