PostgreSQL的NoSQL特性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL的NoSQL特性相关的知识,希望对你有一定的参考价值。

参考技术A 注意:键值对的键必须使用双引号
查询JSONB中字段

根据某一键值查找

示例:

functions-json

右操作符为int: 获取JSON数组元素(索引从0开始)

右操作符为text: 通过键获取json值.

右操作符为int: 获取JSON数组元素为text

右操作符为text: 通过键获取json值为text

右操作符为: text[] , 在指定的路径获取JSON对象。

即在获取 a.b 的值

右操作符为: text[] , 在指定的路径获取JSON对象为text

即获取 a[2] 的值并转为text.

右操作数的类型: jsonb , 左侧的JSONB的是否包含右侧的.

右操作数的类型: jsonb , 右侧的JSONB的是否包含左侧的.

右操作符: text , 该字符串是否存在于json的顶级key中.

右操作符: text[] ,所有这些元素是否存都在于json的顶级key中.

右操作符: jsonb , 拼接两个 jsonb 生成一个新的 jsonb

右操作符: text ,从左操作数中删除K/V或者字符串元素。

右操作符: int , 删除指定索引的元素(负数表示从结尾开始)

右操作符: text[] , 删除字段或指定路径的元素.

json(jsonb)中的CRUD

添加jsonb的字段

删除jsonb的某字段

知识近 20 年的厚积薄发,PostgreSQL 10 新特性详解

在经过 4 个测试版本后,PostgreSQL 10 的首个候选版本已于前几日发布。PostgreSQL 项目组将根据测试情况发布更多 RC 版本,预计会在年底发布 PostgreSQL 10 的正式版本。想提前体验新特性的可到这里下载https://www.postgresql.org/ftp/source/ 

从 beta1 到 rc1 , PostgreSQL 10 的主要新特性已趋于定性,包括:


大数据


  • 原生分区(内置分区):PostgreSQL 10 中将内置分区表功能,依旧使用了继承的特性,但不需要手工写规则了,全部由系统处理。

  • 并行增强:包括并行合并连接、并行索引扫描、并行位图扫描、收集合并等等。

  • 连接和聚合下推:在外部表上做 aggregates 操作时,10 版本之前的处理过程是先将远程库的数据全部取到本地库,之后在本地库上 aggregates 操作,10 版本后部分 aggregates 操作可下推到远程库,这大幅减少了远程库传到本地库的数据量,并让聚合计算从请求服务器抽离。

  • 更快的分析查询



复制和扩展


  • 逻辑复制:可复制指定的表,或是进行复制方式的升级

  • 同步复制的优选提交:确保多节点时数据的可靠性和性能

  • 临时 replication slots:在会话结束时自动删除

  • 故障切换:自动连接到列表中第一个可用的主机

  • 可追踪提交

  • 物理复制:改进两阶段提交的 replay 性能



管理


  • 对 pg_receivewal 的压缩支持

  • pg_stat_activity 后台进程显示:包括辅助进程、工作进程、WAL 发件人等



SQL 特性


  • 标识列:详情

  • 宕机安全和可复制的哈希索引

  • 触发器表转换:触发器执行时表内容变化的查询



XML 和 JSON


  • XMLTable:可将 XML 文档转换为表格式,从而使数据库中的 XML 数据更容易处理

  • JSON 和 JSONB 全文搜索支持



安全性


  • SCRAM 认证:用于更新安全的基于密码认证的访问

  • 新增"监控"角色:pg_read_all_settings、pg_read_all_stats、pg_stat_scan_tables、pg_monitor

  • 与行级安全有关的限制策略



性能


  • 多列统计:详情

  • pg_stat_activity 等待事件状态显示:PostgreSQL 9.6 代码共测试了 69 个等待事件,PostgreSQL 10 再次扩展,已包含 184 个等待事件。

  • 查询方案改进

以及,更多……


以上是关于PostgreSQL的NoSQL特性的主要内容,如果未能解决你的问题,请参考以下文章

从Postgres95到PostgreSQL9.5:新版亮眼特性

PostgreSQL的隐藏特性[关闭]

PostgreSQL 备忘清单_开发速查表分享

何为PostgreSQL?

Postgresql 分区表 一

PostgreSQL数据目录深度揭秘