PostgreSQL UUID

17 Mar 2025 | 4 分钟阅读

在本节中,我们将了解PostgreSQL UUID 数据类型的工作原理。我们还将看到UUID 数据类型示例,并且我们还将了解如何借助提供的模块创建 UUID 值。

什么是 PostgreSQL UUID 数据类型?

在 PostgreSQL 中,下一个数据类型是通用唯一标识符,也称为UUID,由RFC 4122 和另一个相关的标准指定。

UUID 值是一个 128 位长的值,由一个算法创建,使其在已知的宇宙中具有唯一性,借助一个类似的算法来识别信息。

让我们看一下 UUID 值的一些示例,我们可以在下面的表示中看到

正如我们在上面的示例中看到的,UUID 是32 位十六进制数字四个连字符 (-)的排列。 UUID 可以是nil,其中所有位都设置为

我们经常在分布式系统中识别 UUID,因为它的独特功能。与在单个数据库中创建唯一值的 PostgreSQL SERIAL 数据类型相比,它还可以确保更好的个体性。

注意:在 PostgreSQL 数据库中,我们可以使用 UUID 数据类型来存储 UUID 值,并提供模块来生成它们。

如何在 PostgreSQL 中创建 UUID 值

PostgreSQL 允许我们存储和比较 UUID 值,但它不包含函数,并且在其核心中创建 UUID 值。

而是它依赖于第三方模块,这些模块提供用于创建 UUID 的特定算法,例如,uuid-ossp 模块包含一些可访问的函数,这些函数执行创建 UUID 的标准算法。

我们将使用以下CREATE EXTENSION命令在Javatpoint 数据库中安装uuid-ossp 模块。

输出

执行上述命令后,我们将收到以下消息:uuid_ossp 已使用Create Extension 命令成功安装。

PostgreSQL UUID

我们在上面的命令中使用了IF NOT EXISTS子句,这使我们能够避免重新安装该模块。

我们可以使用uuid_generate_v1() 函数创建 UUID 值,这取决于当前时间戳、计算机 MAC 地址的分组以及随机值

输出

在执行上述命令后,我们将得到以下结果,它显示了由uuid_generate_v1() 函数创建的 UUID 值。

PostgreSQL UUID

在以下命令中,我们将使用uuid_generate_v4() 函数创建一个 UUID 值,该值仅取决于随机数

输出

成功执行上述命令后,我们将得到以下结果,它显示了由uuid_generate_v1() 函数创建的 UUID 值。

PostgreSQL UUID

PostgreSQL UUID 数据类型的示例

让我们看一个示例,以了解PostgreSQL UUID 数据类型的工作原理。

我们正在使用 CREATE 命令的帮助创建一张新表作为ClientUUID 列,并使用 INSERT 命令插入一些值。

Client 表包含各种列,例如Client_id、client_first_name、client_last_name、client_email_id 和 client_address。

对于client_id 列,我们使用UUID 数据类型,它也是主键。此外,主键列值将通过uuid_generate_v4() 函数自动创建。

要在类似的Javatpoint 数据库中创建一个Client 表,我们安装了uuid_ossp 模块,我们使用CREATE 命令,如下面的命令所示

输出

执行上述命令后,我们将收到以下消息,它显示已成功创建Client 表。

PostgreSQL UUID

在上面的命令中,我们已经使用了 UUID 数据类型作为Client_id 列,其中Client_id 列具有由uuid_generate_v4() 函数给出的默认值。

因此,如果我们插入一个新行而不定义Client_id 列的值,PostgreSQL 将调用uuid_generate_v4() 函数来创建Client_id 值。

成功创建Client 表后,我们将使用INSERT 命令的帮助将一些值插入其中。

输出

执行上述命令后,我们将得到以下消息窗口,它显示指定的 values 已成功插入到Client 表中。

PostgreSQL UUID

在创建并插入了Client 表的值之后,我们将使用SELECT 命令来返回Client 表的所有行

输出

成功执行上述命令后,我们将得到以下输出,它显示了Client 表中存在的所有数据

PostgreSQL UUID

正如我们在上面的屏幕截图中看到的,Client_id 列已填充了由uuid_generate_v4() 函数创建的UUID 值

概述

PostgreSQL UUID 数据类型部分中,我们学习了以下主题

  • PostgreSQL UUID 数据类型用于存储指定列的 UUID 值。
  • 我们可以使用CREATE Extension 命令安装 uuid-ossp 模块来创建 UUID 值。
  • 我们可以使用uuid_generate_v4() 函数自动检索表的特定列的 UUID 值。