31

我想在 Ubuntu 13 上的 Postgresql 9.2 中使用 uuid。所以当我尝试检查是否可用时,我做了:

select uuid_generate_v4() as one;

它给了我ERROR: function uuid_generate_v4() does not exist

然后我做了CREATE EXTENSION "uuid-ossp";

ERROR:  could not open extension control file "/usr/share/postgresql/9.2/extension/uuid-ossp.control": No such file or directory

好吧,接下来我该怎么办?

顺便说一句,只SELECT * FROM pg_available_extensions;返回plpsql (1.0)

4

4 回答 4

42

未安装包含扩展的操作系统包。要安装它:

apt-get install postgresql-contrib-9.2
于 2013-12-29T02:18:35.627 回答
13

对于使用asdf 版本管理器asdf-postgres 插件的任何人,安装 postgres 版本如下解决此问题:

POSTGRES_EXTRA_CONFIGURE_OPTIONS=--with-uuid=e2fs asdf install postgres <VERSION>
于 2018-08-19T13:53:15.557 回答
1

如果仍然出现错误,请尝试在/usr/share/postgresql/9.X/extension/uuid-ossp*.sql数据库中手动运行两个 SQL 文件

于 2017-11-20T12:29:27.787 回答
1

对于在 Fedora 或类似发行版上使用 postgres rpm repo 安装 postgres 的你们:

sudo dnf 安装 postgresql-contrib

从默认的 fedora repo 安装一个与 postgres 冲突的包,例如:

/usr/pgsql-12/lib/libpq.so.5:没有可用的版本信息(psql 需要)

正确的方法是

须藤 dnf 安装 postgresql12-contrib

您可以在安装过程中仔细检查它,它必须来自 pgdg12,与 postgresql-server 相同

(您已插入您的 postgres 版本而不是“12”)

于 2021-09-15T09:20:52.297 回答