PostgreSQL UUID17 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 命令成功安装。 ![]() 我们在上面的命令中使用了IF NOT EXISTS子句,这使我们能够避免重新安装该模块。 我们可以使用uuid_generate_v1() 函数创建 UUID 值,这取决于当前时间戳、计算机 MAC 地址的分组以及随机值 输出 在执行上述命令后,我们将得到以下结果,它显示了由uuid_generate_v1() 函数创建的 UUID 值。 ![]() 在以下命令中,我们将使用uuid_generate_v4() 函数创建一个 UUID 值,该值仅取决于随机数 输出 成功执行上述命令后,我们将得到以下结果,它显示了由uuid_generate_v1() 函数创建的 UUID 值。 ![]() PostgreSQL UUID 数据类型的示例让我们看一个示例,以了解PostgreSQL UUID 数据类型的工作原理。 我们正在使用 CREATE 命令的帮助创建一张新表作为Client和UUID 列,并使用 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 表。 ![]() 在上面的命令中,我们已经使用了 UUID 数据类型作为Client_id 列,其中Client_id 列具有由uuid_generate_v4() 函数给出的默认值。 因此,如果我们插入一个新行而不定义Client_id 列的值,PostgreSQL 将调用uuid_generate_v4() 函数来创建Client_id 值。 成功创建Client 表后,我们将使用INSERT 命令的帮助将一些值插入其中。 输出 执行上述命令后,我们将得到以下消息窗口,它显示指定的 values 已成功插入到Client 表中。 ![]() 在创建并插入了Client 表的值之后,我们将使用SELECT 命令来返回Client 表的所有行 输出 成功执行上述命令后,我们将得到以下输出,它显示了Client 表中存在的所有数据 ![]() 正如我们在上面的屏幕截图中看到的,Client_id 列已填充了由uuid_generate_v4() 函数创建的UUID 值。 概述在PostgreSQL UUID 数据类型部分中,我们学习了以下主题
|
我们请求您订阅我们的新闻通讯以获取最新更新。