我正在尝试生成UUID
. PostgreSQL 8.2
从文档中我发现uuid-ossp
模块可以生成UUID
,但它只支持PostgreSQL 9+
. 有什么方法可以在这个uuid-ossp
模块中使用PostgreSQL 8.2
或使用查询生成?UUID
PostgreSQL 8.2
2 回答
您可能对 Postgres 插件的打包感到困惑。Postgres 9.1 引入了一种新的打包方案,称为Extension
. 这个想法是插件的创建者在打包方面做更多的工作,因此插件的用户可能在安装方面做更少的工作。Create Extension命令(在我看来是一个错误的名称)将一个插件安装到您的 Postgres 集群中。
在 Postgres 9.1 之前,您可以安装 UUID 插件,但这样做并不那么简单。您必须找到适合您的 Postgres 版本的“uuid-ossp”插件。该插件很可能已与您的 Postgres 集群捆绑在一起,但尚未安装(激活)。在该插件包中找到用于安装的 SQL 脚本。然后在 Postgres 集群中执行该脚本。
有关详细信息,请参阅我在 Postgres 邮件列表中发布的帖子和我关于旧方式安装和新方式安装 UUID 插件的博客帖子。
我找不到 8.2 文档,但确实找到了插件的 8.3 文档。uuid-ossp
我不知道 8.2 是否有 uuid-ossp 插件的版本,但我想是的。
Postgres 8.2的生命周期结束两年(2011-12)。我强烈建议计划升级。
正如 Craig Ringer 评论的那样,您应该只对 Postgres 8.2 集群进行最基本的维护。询问 UUID 支持表明了一些重大变化。对于此类更改,您确实应该首先完成对更新的 Postgres 的升级。
您可以编写一个函数 PL/Perl 或 PL/Python,使用它们的模块之一生成 UUID。