如何修复“扩展没有安装脚本或更新路径”错误?

l0b*_*0b0 6 postgresql

我正在维护旧的PostgreSQL 扩展,并尝试发布新版本。测试脚本运行时失败CREATE EXTENSION IF NOT EXISTS table_version version '1.10.3';

错误:扩展“table_version”没有版本“1.10.3”的安装脚本或更新路径

不是这个问题,因为(在测试脚本的前面步骤中安装成功)确实包含相关/usr/share/postgresql/10/extension/table_version--1.10.3.sql文件。我很困惑还有什么可能是问题。

重现:

  1. 在linz-software-repositorynix-shell --pure --run 'docker build --tag=docker-builder .'的“master”分支上运行以创建 Debian 软件包构建器映像 ( log )
  2. 在postgresql-tableversiondocker run --env=DRY_RUN=1 --env=GITHUB_REPOSITORY=linz/postgresql-tableversion --env=RUNNER_WORKSPACE="$(dirname "$PWD")" --volume=/var/run/docker.sock:/var/run/docker.sock docker-builder focal jq "$PWD" “release-1.10” 分支上运行以创建 Debian 包 ( log )
  3. 运行docker build --build-arg=RELEASE=focal --tag=tester .以创建测试运行器 Docker 映像(日志
  4. 运行docker run --rm --volume="${PWD}/build-area:/packages" tester ./test/ci/package-upgrade.bash 10查看错误(日志)。

手动尝试最后一步,Docker 容器最终会生成以下文件:

root@939371dd2cf4:/src# ls -1 /usr/share/postgresql/10/extension/table_version*
/usr/share/postgresql/10/extension/table_version--1.10.2--1.10.4.sql
/usr/share/postgresql/10/extension/table_version--1.10.2dev--1.10.4.sql
/usr/share/postgresql/10/extension/table_version--1.10.3--1.10.4.sql
/usr/share/postgresql/10/extension/table_version--1.10.3dev--1.10.4.sql
/usr/share/postgresql/10/extension/table_version--1.10.4--1.10.4.sql
/usr/share/postgresql/10/extension/table_version--1.10.4--1.10.4next.sql
/usr/share/postgresql/10/extension/table_version--1.10.4.sql
/usr/share/postgresql/10/extension/table_version--1.10.4next--1.10.4.sql
/usr/share/postgresql/10/extension/table_version--unpackaged--1.10.4.sql
/usr/share/postgresql/10/extension/table_version.control
Run Code Online (Sandbox Code Playgroud)

可能相关的发现:

  • 本地构建的包从最新标签获取其版本号,而不是EXTVERSIONMakefile. 但创建新的“1.10.4”标签并推送它似乎没有任何帮助。
  • apt-get --assume-yes install postgresql-10-tableversion确实创建了/usr/share/postgresql/10/extension/table_version--1.10.3.sql,但是安装本地构建的 .deb 文件后该文件就消失了。