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/issues和this 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 install
json_fdw
之前准备好的包,使用sucess 。sudo apt install zlib1g-dev libyajl-dev
似乎真正的问题是 PostgreSQL 版本混淆:两者存在,ls /usr/share/postgresql/10/extension
并且ls /usr/share/postgresql/12/extension