Postgresql 9.2中的安装扩展期间出错

时间:2014-02-04 18:56:27

标签: sql postgresql

我试过以下:

sudo -u postgres psql <enter>
create extension "uuid-ossp";

但显示错误:ERROR: could not access file "$libdir/uuid-ossp": No such file or directory

我尝试过:select version()。它显示了我的postgresql版本PostgreSQL 9.2.4 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1, 64-bit

后来尝试使用adminpack安装扩展程序create extension "adminpack",但它也会抛出错误:ERROR: could not open extension control file "/usr/local/share/postgresql/extension/adminpack.control": No such file or directory

我试过locate uuid-ossp给了我以下结果:

/usr/src/postgresql-9.2.4/contrib/uuid-ossp
/usr/src/postgresql-9.2.4/contrib/uuid-ossp/Makefile
/usr/src/postgresql-9.2.4/contrib/uuid-ossp/uuid-ossp--1.0.sql
/usr/src/postgresql-9.2.4/contrib/uuid-ossp/uuid-ossp--unpackaged--1.0.sql
/usr/src/postgresql-9.2.4/contrib/uuid-ossp/uuid-ossp.c
/usr/src/postgresql-9.2.4/contrib/uuid-ossp/uuid-ossp.control
/usr/src/postgresql-9.2.4/doc/src/sgml/uuid-ossp.sgml
/usr/src/postgresql-9.2.4/doc/src/sgml/html/uuid-ossp.html

locate adminpack给出以下结果:

/usr/lib/postgresql/9.1/lib/adminpack.so
/usr/share/postgresql/9.1/extension/adminpack--1.0.sql
/usr/share/postgresql/9.1/extension/adminpack.control
/usr/src/postgresql-9.2.4/contrib/adminpack
/usr/src/postgresql-9.2.4/contrib/adminpack/Makefile
/usr/src/postgresql-9.2.4/contrib/adminpack/adminpack--1.0.sql
/usr/src/postgresql-9.2.4/contrib/adminpack/adminpack.c
/usr/src/postgresql-9.2.4/contrib/adminpack/adminpack.control
/usr/src/postgresql-9.2.4/doc/src/sgml/adminpack.sgml
/usr/src/postgresql-9.2.4/doc/src/sgml/html/adminpack.html

2 个答案:

答案 0 :(得分:4)

粗略猜测,您已将PostgreSQL 9.2源代码下载到/usr/src,解压缩,配置,编译和安装......但未安装the contribs

如果是这样,来自PostgreSQL源代码:

cd contrib && make && sudo make install

如果您想要更新PostgreSQL版本,除非您需要/想要更改源代码,否则通常最好将它们打包。请参阅http://yum.postgresql.org/http://apt.postgresql.org/http://www.postgresql.org/download/,...

更新:其中一些具有依赖性。例如。对于uuid-ossp,您必须首先安装ossp-uuid lib:

apt-get install libossp-uuid-dev

然后编译并安装contrib/uuid-ossp

cd contrib/uuid-ossp && make && make install

检查make步骤的错误输出以获取更多信息,如果有疑问,请记住,Google。 第一个错误通常是最重要的。

答案 1 :(得分:0)

对于那些遇到这种情况并正在安装特定版本的Postgresql(例如9.6)的人:

确保安装相同版本的 contrib

HttpContext

当我最初使用PostgreSQL网站上的指示安装 postgresql96-server 时,它没有提到安装 contrib ,所以我稍后安装了错误的版本 - 忘记我没有不要使用CentOS存储库中的默认版本。