PostgreSQL扩展创建

3

当我尝试创建扩展时

cms=# CREATE EXTENSION "uuid-ossp";
ERROR:  could not open extension control file "/usr/share/pgsql/extension/uuid-ossp.control": No such file or directory

我遇到了这个错误,当我搜索扩展时,它们位于 /usr/pgsql-9.3/share/extension 目录下。

我的本地机器上安装了多个服务器。

如何解决这个问题,以便我可以创建扩展?


1
你安装了 contrib 包吗? - Vao Tsun
是的,当我尝试安装时,它会显示:“Package postgresql93-contrib-9.3.9-1PGDG.f21.x86_64已经安装并且是最新版本。” - Mohitd23

服务器版本

9.3.9 (1行)
- Mohitd23
1
shell中运行sudo find / -name uuid-ossp.control命令会输出什么? - Vao Tsun
/usr/pgsql-9.3/share/extension/uuid-ossp.control - Mohitd23
显示剩余2条评论
2个回答

0

实际问题是我的*.so文件在/usr/pgsql-9.3/lib中,而在pg_config文件中给出了/usr/lib64/pgsql路径,所以我只需将所有文件从/usr/pgsql-9.3/lib复制到/usr/lib64/pgsql即可。

此外,我创建了一个软链接sudo ln -s /usr/pgsql-9.3/share/extension /usr/share/pgsql/extension。通过这两个步骤,我的问题得到了解决。

感谢大家的支持。


0

你需要符号链接

sudo ln -s /usr/pgsql-9.3/share/extension /usr/share/pgsql/extension


创建软链接后,我遇到了这个错误 cms=# CREATE EXTENSION "uuid-ossp"; ERROR: 无法访问文件"$libdir/uuid-ossp":没有那个文件或目录。 - Mohitd23
请问您能帮我学习如何操作吗?是这样的吗——psql -U 用户名 数据库名 -f /usr/pgsql-9.3/share/extension/uuid-ossp--1.0.sql - Mohitd23
-rw-r--r-- 1 root root for /usr/pgsql-9.3/share/extension 和 [mohit@ARW-MUM-WK-1575 ~]$ ls -l /usr/share/pgsql/extension lrwxrwxrwx 1 root root 31 Aug 27 14:15 /usr/share/pgsql/extension -> /usr/pgsql-9.3/share/extension/ - Mohitd23
-rw-r--r-- 1 root root 163 Jun 11 16:59 /usr/share/pgsql/extension/uuid-ossp.control - Mohitd23
因为当我执行 yum list installed | grep postgres 时,会出现以下结果:postgresql.x86_64 9.3.9-1.fc21 updates
postgresql-libs.x86_64 9.3.9-1.fc21 updates
postgresql-server.x86_64 9.3.9-1.fc21 updates
postgresql93.x86_64 9.3.9-1PGDG.f21 pgdg93
postgresql93-contrib.x86_64 9.3.9-1PGDG.f21 pgdg93
postgresql93-libs.x86_64 9.3.9-1PGDG.f21 pgdg93
postgresql93-server.x86_64 9.3.9-1PGDG.f21 @pgdg93
- Mohitd23
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接