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特性的主要内容,如果未能解决你的问题,请参考以下文章