问题标签 [postgresql-9.5]
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.
postgresql - 遍历 jsonb 数组:运算符不存在:名称 ->> 未知
在 Android 游戏中,用户可以通过 Google+、Facebook、Twitter 登录:
当应用程序连接到 PostgreSQL/PHP 后端时,它会发送一个社交 ID 列表,我将它们作为sid
列存储在social
表中:
在另一个名为的表中,users
我将自动递增的用户 ID 保留为uid
列,并使用它来跟踪他们的游戏、成就、玩家统计信息:
在 PHP 登录脚本中,我尽可能尝试合并社交帐户 -
通过获取所有收到的sid,找到相应的uid,然后获取找到的最低uid并更新social
表中的记录以使用该最低uid。
这已经在 PHP 中运行良好,但现在我试图将合并功能移动到 PostgreSQL 存储函数中:
不幸的是,上面的代码打印了语法错误消息:
我已经尝试在上面的代码中附加::jsonb
和u
,user
但它没有帮助。
json - 从 jsonb 成员更新整数列失败:列是整数类型,但表达式是 jsonb 类型
在 PostgreSQL 9.5 表中,我有一integer
列social
.
当我尝试在存储过程中更新它时,给定in_users
类型变量中的以下 JSON 数据(一个包含 2 个对象的数组,每个对象都有一个“社交”键) jsonb
:
然后以下代码失败:
带有错误消息:
我尝试将该行更改为:
但后来我得到了错误:
为什么 PostgreSQL 不能识别数据是integer
?
从JSON-TYPE-MAPPING-TABLE我的印象是 JSON 数字会自动转换为 PostgreSQL 数字类型。
sql - 要内插/外推的 SQL 数据
如果我有一个表格可以在某个温度下保持 kW 使用量的运行平均值,并且我想获得以前未记录的温度的 kW 使用量,我怎么能得到
(A)外推温度高于或低于温度的两个数据点。
(B)要插值的高于和低于温度的最近数据
餐桌温度看起来像这样
(A)建议的解决方案
我想这会容易一些。>
该查询将按温度值或温度对行进行排序<
,然后将结果限制为 2?这将为我提供高于或低于温度的两个最接近的值。当然,订单必须是降序和升序,以确保我得到项目的右侧。
我认为与上面类似,但仅将其限制为 1 并执行 2 个查询,一个为>
,另一个为<
. 我觉得这可以做得更好吗?
编辑 - 一些示例数据
postgresql - 如何决定是将二进制数据存储在 Postgres 中还是文件中?
我正在开发一个 Postgres 支持的系统,其中将存储许多二进制文件。
我至少有两个选择:
- 将它们存储在 Postgres 中。
- 将它们存储为文件。
我需要考虑哪些标准才能做出最佳决策?
postgresql - Postgres 教程:pg_restore:[archiver] 输入文件似乎不是有效的存档
我正在学习 Postgres DVD 教程,并且在导入他们的示例数据库时遇到了问题。
跑步pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar.gz
给了我pg_restore: [archiver] input file does not appear to be a valid archive
。
到目前为止,我的过程如下:
- 下载dvdrental.zip文件
- 使用将其解压缩到 .tar
tar czf dvd-database.tar.gz dvdrental.zip
(我也尝试先将 zip 解压缩到一个文件夹,结果相同,然后删除 .gz) pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar
如上所述运行。
我目前正在使用 Postgres 9.5,这可能会导致问题。寻找一个答案,指出我在这个过程中哪里出错或如何将 Postgres 数据库的存档更新到 9.5。
postgresql - 使用 INSERT ... ON CONFLICT DO NOTHING RETURNING 失败的行
假设我有下表:
我需要一个查询来插入不存在的标签并返回所有请求标签的 id。考虑以下:
此查询的输出是:
我需要的是tag6
输出。
postgresql - 更新 2 列中的 1 - 取决于条件
在 2 名玩家的游戏中,我试图通过调用以下存储函数来允许跳过玩家的回合:
是否可以将上述两个 UPDATE 语句组合为一个 - 并根据条件设置其中一个stamp1
或设置stamp2
为当前纪元时间?
1 row
另外,我不明白,如果我使用无效参数调用该函数,为什么 PostgreSQL 9.5 总是报告正在更新 - 事件?
这是games
表格(我使用纪元整数作为stamp
列,以便更轻松地与客户端的移动应用程序通信 - 它使用 SQLite):
java - 如何在 postgresql jdbc 准备语句中编写 BYTEA
我正在尝试将字节流写入我的 postgres 服务器(PostgreSQL 9.5beta2,Windows 8 64bit)。
插入查询如下:
hierarhical_correlation 的 schmea 是
我正在插入这样的值:
由于Java中的字节范围是-128到127,据我所知postgres有0-255,我希望-128是0,127是128到255。当我评估上述内容并检查它的值时得到类似的东西(那些显然不是等效的字节,但是下面的字符串生成的值是 128 或 -127)
这显然有点正确,但完全错误:0x7F 是 127,这是正确的,因为 JDBC 没有变基,而 0x80 是 128,这显然是错误的,但考虑到它产生和溢出,我们的值是正确的。
那么我将如何插入这些值呢?我试过改变,没有一个值产生我想要的结果。
我实际上怀疑这是 JDBC 方面的错误,但我还没有耗尽我的积极性。
postgresql - UPSERT 测试代码中的语法错误
我正在尝试使用以下测试代码测试新的 PostgreSQL upsert 语法,但得到语法错误:
请问上面的代码为什么会失败?
此外,该test1
表有几个约束(非负值和唯一主键)。如何仅解决唯一性约束?
更新 2:我已经从 to 切换UPDATE
到INSERT
(对不起这个愚蠢的错误!),但我仍然在语法上苦苦挣扎:
我还尝试将 JSON 行更改为:
但这也失败了......
为方便起见,这是我的测试代码:
postgresql - 如何将从函数返回的布尔值分配给 PostgreSQL 9.4 中的变量?
我有一个函数可以使用以下代码检查 PostgreSQL 上是否存在表:
我正在尝试使用上述函数的输出来分配一个布尔值,但 PostgreSQL 不允许我这样做。
或者
你能帮我解决这个问题吗?