我尝试在我的 Postgresql 12 上安装 semver。我成功安装了 postgis 并使用以下命令在我的 Centos 7 服务器上安装 pg-semver( semver扩展):
yum install pg-semver
然后我跑了
CREATE EXTENSION semver;
我收到以下错误:
无法打开扩展控制文件/usr/pgsql-12/share/extension/semver.control:没有这样的文件或目录
我将所有文件从“/usr/share/pgsql/extension/”复制到“/usr/pgsql-12/share/extension”。现在我收到以下错误:
错误:错误:无法访问文件“semver”:没有这样的文件或目录
更新(2020 年 2 月 28 日):
我删除了 pg-semver,因为它为 PSQL 9.2 提供。我现在尝试使用开发人员提供的文档来构建自己。
我从https://github.com/theory/pg-semver/archive/master.zip下载了 semver 扩展,然后解压缩。之后我运行以下命令:
make
并得到:
make:对于“all”目标没有什么可做的。然后:
make install
并得到:
/bin/sh /usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh -c -m 644 ./semver.control '/usr/share/pgsql/extension/' / bin/sh /usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh -c -m 644 ./sql/semver--0.20.0.sql ./sql/semver- -unpackaged--0.2.1.sql ./sql/semver--0.20.0--0.21.0.sql ./sql/semver--0.12.0--0.13.0.sql ./sql/semver-- 0.3.0--0.4.0.sql ./sql/semver--0.16.0--0.17.0.sql ./sql/semver--0.13.0--0.15.0.sql ./sql/semver- -0.11.0--0.12.0.sql ./sql/semver--0.2.4--0.3.0.sql ./sql/semver--0.2.1--0.2.4.sql ./sql/semver --0.5.0--0.10.0.sql ./sql/semver--0.10.0--0.11.0.sql ./sql/semver.sql ./sql/semver--0.17.0--0.20。 0.sql ./sql/semver--0.15.0--0.16.0.sql '/usr/share/pgsql/extension/' /bin/sh /usr/lib64/pgsql/pgxs/src/makefiles/.. /../config/install-sh -c -m 755 src/semver.so '/usr/lib64/pgsql/'/bin/sh /usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh -c -m 644 ./doc/semver.mmd '/usr/share/doc/pgsql/扩大/'
然后:
make installcheck
并得到:
==============删除数据库“contrib_regression”==============删除数据库==============创建数据库“contrib_regression” ============== CREATE DATABASE ALTER DATABASE ============== 安装 plpgsql ============ == CREATE LANGUAGE ============== 运行回归测试查询 ============== 测试库 ... FAILED(测试过程以退出代码 3 退出)
--------------- 1 个测试中的 1 个失败。
可以在文件“/tmp/ttt/pg-semver-master/regression.diffs”中查看导致某些测试失败的差异。您在上面看到的测试摘要的副本保存在文件“/tmp/ttt/pg-semver-master/regression.out”中。
make: *** [installcheck] 错误 1
regression.out的内容:
……!好的 278 - 次要版本检查!好的 279 - 函数 get_semver_patch() 应该存在!好的280-semver!好的 281 - 函数 get_semver_patch() 应该返回整数!好的 282 - 补丁版本检查!好的 283 - 函数 get_semver_prerelease() 应该存在!好的 284 - semver !好的 285 - 函数 get_semver_prerelease() 应该返回文本!好的 286 - 预发布标签检查!好的 287 - 1.0.0 应该在 [1.0.0, 2.0.0] 范围内!好的 288 - 1.0.0 不应该在 [1.0.1, 2.0.0] 范围内!好的 289 - 2.0.0 不应该在 [1.0.1, 2.0.0) 范围内!好的 290 - 1.9999.9999 应该在 [1.0.1, 2.0.0) 范围内!好的 291 - 1000.0.0 应该在 [1.0.0,) 范围内!好的 292 - 应该能够使用 semverranges 数组 --- 1,2 ---- \set ECHO none !psql:sql/semver.sql:30:错误:无法访问文件“semver”:没有这样的文件或目录
/usr/pgsql-12/lib/ 中没有 semver.so,/usr/lib64/pgsql/ 中有 semver.so 但它也适用于 9.2 版?