用户登录
用户注册

分享至

postgresql 并行

  • 作者: 一条好咸鱼
  • 来源: 51数据库
  • 2020-10-03
PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS), 也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目, 并且有非常广泛的用户。 PostgreSQL 可以说是最富特色的自由数据库管理系统,甚至我们也可以说是最强大的自由软件数据库管理系统。事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。直到最近才有 Inprise 的 InterBase 以及 SAP 等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。



  目前没有现成的函数可以做到通过键值更新json中的值,也无法插入一对键值。
对于这种键值对类型的json数据,可以考虑转换成text,然后由text进行运算,再转换成json值。示例如下:
with?s?as?(select?'{"a":"hello",?"b":"world!"}'::json?as?j1)
select?s.j1,?j1::text?as?j2,
replace(j1::text,?(s.j1->'b')::text,?'"andy"'::text)::json?as?j2,?--?替换b键值的内容
(replace(s.j1::text,?'}',?'')?||?','?||?replace(('{"c":"?ok?"}'::json)::text,?'{',?''))::json?as?j3??--?添加一个键值对,目前未能插入到指定位置
from?s;
软件
前端设计
程序设计
Java相关