0

On sudo -H pgxn install semver, 关于错误 PostgreSQL 版本的错误 (它是 v10 而不是 v12),

INFO: best version: semver 0.20.3
INFO: saving /tmp/tmpba6hta5a/semver-0.20.3.zip
INFO: unpacking: /tmp/tmpba6hta5a/semver-0.20.3.zip
INFO: building extension
gcc -Wall -Wmissing-prototypes -Wpointer-arith... src/semver.c: In function ‘tail_cmp’:
src/semver.c:440:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
   char *dot = ".";
   ^
gcc -Wall -Wmissing-prototypes -...
/usr/bin/install -c -m 644 .//doc/semver.mmd '/usr/share/doc/postgresql-doc-12/extension/'

INFO: installing extension
/bin/mkdir -p '/usr/share/postgresql/12/extension'
/bin/mkdir -p '/usr/share/postgresql/12/extension'
/bin/mkdir -p '/usr/lib/postgresql/12/lib'
/bin/mkdir -p '/usr/share/doc/postgresql-doc-12/extension'
/usr/bin/install -c -m 644 .//semver.control '/usr/share/postgresql/12/extension/'
/usr/bin/install -c -m 644 .//sql/semver--0.20.0.sql ...

我也尝试修复“postgresql headers”,通过这条线索使用sudo apt install postgresql-server-dev-10,但没有效果。

我使用的是pgxn.org扩展,它的主页上没有明显的“安装指南”。似乎该指南是pgxn.github.io/pgxnclient,但它没有说明更改 PostgreSQL 配置(但关于 extend-pgxs 的 Pg 指南可能会说些什么)。


有关json_fdw/issuesthis other question的更多详细信息。


环境细节

  • 开启psql "postgres://postgres:passwd@localhost/myBase" -c "select version()"= PostgreSQL 10.12

  • 旧服务器 UBUNTU 16 LTS

  • psql --version= 12.2(但 SQL 是 10.12!)

  • pgxn由 安装sudo easy_install pgxnclient
    重做sudo -H pip install --upgrade pgxnclient
    pgxn --version= pgxnclient 1.3

  • 对于在pgxn installjson_fdw之前准备好的包,使用sucess 。sudo apt install zlib1g-dev libyajl-dev

似乎真正的问题是 PostgreSQL 版本混淆:两者存在,ls /usr/share/postgresql/10/extension并且ls /usr/share/postgresql/12/extension

4

1 回答 1

1

安装工作正常,警告是关于 semver 中的代码错误。

该扩展是在您的机器上使用 PostgreSQL v12 安装构建和安装的,因为在pg_config上找到的PATH是来自 v12 的扩展。如果要使用 v10 构建和安装扩展,请确保pg_configv10 中的第一个在PATH.

于 2020-03-10T14:51:26.573 回答