问题标签 [postgresql-9.4]
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.
sql - 如何将 PostgreSQL 9.4 的 jsonb 类型转换为浮点数
我正在尝试以下查询:
(+1.0 只是为了强制转换为浮动。我的实际查询要复杂得多,这个查询只是问题的一个测试用例。)
我得到错误:
如果我添加显式转换:
错误变为:
我知道大多数 jsonb 值不能转换为浮点数,但在这种情况下,我知道纬度都是 JSON 数字。
是否有一个函数可以将 jsonb 值转换为浮点数(或为不可转换返回 NULL)?
postgresql - jsonb 与 psycopg2 RealDictCursor
我有一个 postgresql 9.4(又名 mongodb 杀手 ;-))和这个简单的模式:
现在我填充这个,如果我选择它会显示类似
现在,如果我向 psycopg2 提出请求,
我最终会得到
你会告诉我怎么了?好吧 misc 是 str 类型。我希望它被识别为 json 并转换为 Python dict。
来自 psycopg2 文档(psycopg2/extras 页面)它指出“从数据库中读取,json 值将自动转换为 Python 对象。”
使用 RealDictCursor 似乎并非如此。这意味着我无法访问 rows[0]['misc']['age'] 因为这很方便......
好的,我可以手动使用
但如果我可以避免这种情况,因为有更好的解决方案......
附言。拥有 1500+ 代表的人可以创建 postgresql9.4 标签;-)
postgresql - jsonb类型的plv8存储过程
这可能为时过早,postgres 9.4 仍处于测试阶段。我一直在试验 jsonb 类型。我没有任何运气将 jsonb 类型传递给 plv8 函数,它以字符串类型出现。我想知道我做错了吗?
然后,当我使用 json 运行时:
但是,当我使用 jsonb 运行时:
-G
json - 嵌入 json 对象的唯一索引
我现在正在测试 Postgresql 9.4 beta2。我想知道是否可以在嵌入式 json 对象上创建唯一索引?
我创建了一个表名products
:
现在,我尝试将 json 对象插入数据列。
但是,我希望sku
包包是独一无二的。这意味着 json 不能插入到 products 表中,因为sku
在这种情况下它不是唯一的。
我尝试创建如下所示的唯一索引,但失败了。
有什么建议么?
postgresql - 扁平化 jsonb 与嵌套 jsonb 性能 Postgresql 9.4
扁平化:
与嵌套:
在扁平化版本中,我将存储多行并必须对其进行分组,在嵌套版本中,所有数据都将位于一行中。
哪种方式会更快,并且有很大的不同吗?
postgresql - 2201B 错误:使用 replace() 函数时正则表达式无效
为什么 Postgres 给我这个错误
[2014-10-30 13:43:36] [2201B] 错误:无效的正则表达式:无效的转义\序列其中:PL/pgSQL 函数 normalize_username() 分配时的第 5 行
当我使用 SQL 语句时:
激活以下触发器:
表是这样创建的:
replace() 是一个简单的文本函数,对吧?我想它不应该与正则表达式有任何关系。
arrays - PostgreSQL 9.4 将 jsonb int 数组扩展为具有行号的表
试图围绕 postgresql 9.4 jsonb 进行思考,并希望得到一些帮助来弄清楚如何执行以下操作。
给定以下示例 jsonb:
需要:仅返回“name3”数组,作为具有返回签名的表
因此生成的数据将如下所示:
假设数组可以是除零以外的任何长度,并且保证“name3”存在。
postgresql - 如何在 Postgres 9.4 中对 JSONB 类型的列执行更新操作
查看 Postgres 9.4 数据类型 JSONB 的文档,对我来说如何对 JSONB 列进行更新并不是很明显。
JSONB 类型和函数的文档:
http://www.postgresql.org/docs/9.4/static/functions-json.html http://www.postgresql.org/docs/9.4/static/datatype-json.html
例如,我有这个基本的表结构:
插入很容易,如下所示:
现在,我将如何更新“数据”列?这是无效的语法:
这是否记录在我错过的明显地方?谢谢。
sql - 通过均匀跳过行来选择固定的行数
我正在尝试编写一个返回任意大小的代表性数据样本的查询。我想通过只选择第 n 行来做到这一点,其中n 使得整个结果集尽可能接近任意大小。
我希望这在结果集通常小于任意大小的情况下工作。在这种情况下,应该返回整个结果集。
我发现了这个问题,它显示了如何选择每 n行。
这是我到目前为止所拥有的:
这会导致以下错误:
错误:列“data_raw.serial”必须出现在 GROUP BY 子句中或用于聚合函数位置:23
删除这样的计算n
:
我还尝试将计算移至 WHERE 子句:
这也会导致错误:
错误:在 WHERE 位置中不允许使用聚合函数:108
有没有人对如何修复我的查询或更好的方法有任何想法?
我也考虑过使用随机数和概率来选择行,但我宁愿做一些确定性的事情,而不会出现聚集的可能性。
arrays - 在 PostgreSQL 9.4 中更新 json 数组的某些数组元素
我有一张这样的桌子;
如何在没有 的情况下更新元素data->1
和data->3
其他内容PL/*
?