PostgreSQL 与标准 SQL:2023 新特性

news/2024/7/9 20:19:05 标签: postgresql, sql, 数据库

上一篇文章我们介绍了即将发布的 SQL:2023 标准中的新特性。作为最先进的开源关系型数据库,PostgreSQL 至少支持了 SQL:2023 标准 177 项强制功能中的 170 项。

本文并不是一个完整的 PostgreSQL 支持列表,而是专注于 SQL:2023 标准新特性在 PostgreSQL 中的实现情况。

PostgreSQL 对于 SQL 标准的完整支持列表可以参考 PostgreSQL 官方文档。

UNIQUE 约束中的空值(F292)

PostgreSQL 15 开始支持在定义唯一索引或者唯一约束时指定多个 NULL 值是否相同。

在此之前,多个 NULL 值被看作不同的数据,意味着唯一索引和唯一约束中可以存在多个 NULL 值。如果不允许唯一索引和唯一约束中存在多个 NULL 值可以通过 UNIQUE NULLS NOT DISTINCT 进行限制。

默认选项为 UNIQUE NULLS DISTINCT。

分组表中的 ORDER BY(F868)

PostgreSQL 10 之前就已经支持使用没有出现在 SELECT 列表中的分组表字段进行排序。

GREATEST 和 LEAST 函数(T054)

PostgreSQL 8.1 开始支持 GREATEST(最大值)以及 LEAST(最小值)函数。

字符串填充函数(T055)

至少从 PostgreSQL 7.1 开始就提供了 LPAD(左侧填充)以及 RPAD(右侧填充)函数。

多字符 TRIM 函数(T056)

至少从 PostgreSQL 7.1 开始就提供了支持截断多字符的 TRIM 函数。

可选的字符串类型最大长度(T081)

PostgreSQL 中的 VARCHAR 类型允许不指定最大长度。

增强的递归循环标识(T133)

PostgreSQL 14 开始支持通用表表达式(WITH)语句中的循环递归检查功能。

ANY_VALUE 函数(T626)

PostgreSQL 16 将会提供新的 ANY_VALUE 函数,可以从一组数据中返回任意一个非空值。

非十进制的整数常量(T661)

PostgreSQL 16 将会支持十六进制、八进制以及二进制的整数常量。

数字常量中的下划线(T662)

PostgreSQL 16 将会支持在数字常量中使用下划线,提高可读性。

JSON 数据类型(T801)

PostgreSQL 9.2 提供了 json 类型,PostgreSQL 9.4 增加了 jsonb 类型。

增强的 JSON 数据类型(T802)

PostgreSQL 目前没有实现这个功能。

基于字符串的 JSON(T803)

由于这个功能已经被最新 JSON 数据类型替代,PostgreSQL 没有支持计划。

SQL/JSON 路径中的十六进制整数常量(T840)

PostgreSQL 16 将会允许在 SQL/JSON 路径语言中使用十六进制整数常量。

SQL/JSON 简化访问符(T860-T864)

PostgreSQL 目前没有实现这个功能。

SQL/JSON 元素方法(T865-T878)

PostgreSQL 目前没有实现这个功能。

JSON 数据比较功能(T879-T882)

PostgreSQL 9.4 提供了 JSON 数据的比较、排序以及分组操作。

属性图查询语言

PostgreSQL 目前没有实现属性图查询语言 (SQL/PGQ)。


http://www.niftyadmin.cn/n/301211.html

相关文章

鸟哥的Linux私房菜——基础学习篇(第三版) (11-17章)

基础学习篇 第十一章 :认识和学习bash第十二章 :正则表达式与文件格式化处理第十三章 :学习shell script第十四章 :Linux账号管理与ACL权限设定第十五章 :磁盘配额(Quota)与进阶文件系统管理第十六章 :例行…

Hive中常见的join方式

Hive中除了支持和传统数据库中一样的内关联、左关联、右关联、全关联,还支持LEFT SEMI JOIN和CROSS JOIN,但这两种JOIN类型也可以用前面的代替。 如何实现join? 1)内关联(JOIN) 只返回能关联上的结果。 SELECT a.i…

软件测试,谱尼为网络安全护航5.8

个人信息安全是指公民身份、财产等个人信息的安全状况。随着互联网应用的普及和人们对互联网的依赖,个人信息受到极大的威胁。恶意程序、各类钓鱼和欺诈继续保持高速增长,同时黑客攻击和大规模的个人信息泄露事件频发,与各种网络攻击大幅增长…

Android性能优化专家需求量大,人才缺口呼之欲出

前言 Android性能优化是Android应用开发中一个非常重要的环节。一款高性能、流畅的应用可以提高用户体验和满意度,提升应用的用户留存率和活跃度。而在今天,移动设备日趋普及,市场竞争日益激烈,优秀的性能已经成为了Android应用不…

看Chat GPT解答《情报学基础教程》课后思考和习题

情报学基础教程课后思考题 情报学经验规律 (一)按照布拉德福定律,设布拉德福常数为5, 当核心期刊数量为20时,外围一区和外围二区期刊数量各是多少? 答: 核心期刊数和外围期刊比例关系:nc: n1: n2 = 1: a : a2 (a称为布拉德福常数) 外围一区期刊数量为20*5=100,…

【python学习】基础篇-文件与系统-打开与读取文件、文件操作的常用方法

打开与读取文件 在 Python 中,内置了文件(file) 对象。 在使用文件对象时,首先需要通过内置的 open0 方法创建一个文件对象,然后通过该对象提供的方法进行基本的文件操作。 open() 函数的语法格式如下: file open(filename[,mode[,bufferin…

影像已成为小米手机向上的强劲动力

4月18日,小米正式发布13 Ultra。 这款新机一亮相,就以全球亮度最高的屏幕、以及出类拔萃的徕卡Summicron镜头征服了用户。 一、火爆的小米13 Ultra 这次发布会上,小米13 Ultra是与小米电视大师 86" Mini LED、小米平板6、小米手环8、…

kafka3.x详解

kafka 一、简介1.1、场景选择,与其他mq相比1.2、应用场景1.2.1、流量消峰1.2.2、解耦1.2.3、异步通讯 1.3、消息队列的两种模式1.3.1、点对点模式1.3.2、发布/订阅模式 1.4、Kafka 基础架构 二、安装部署2.1、安装包方式2.2、docker安装方式2.3、docker安装kafka-ma…