从源代码安装postgresql之后如何使用pg_trgm

时间:2013-01-12 11:15:44

标签: postgresql installation

从源代码成功安装postgresql 9.2.2后(在OpenSUSE 11.4上,在存储库中没有此版本),我正在尝试恢复使用pg_trgm扩展名的数据库。这会导致错误,因为找不到pg_trgm。

从这个StackOverflow问题:Similarity function in Postgres with pg_trgm,我认为pg_trgm应该在/ usr / share / postgresql // contrib中,但是我的/ usr树中没有任何contrib文件夹。

另外,我似乎无法找到postgres扩展机制如何工作的明确解释,或者如何手动安装扩展。

postgresql源代码树中有一个contrib文件夹,但我不知道如何使用它。我应该手动将其复制到/ usr树吗?任何人都可以指点(或给出)如何在postgresql中安装像pg_trgm这样的扩展的解释吗?

2 个答案:

答案 0 :(得分:12)

假设您已使用./configure配置postgresql,它已使用默认前缀/usr/local/pgsql,以便所有内容都安装在该目录下。

您链接的答案与Debian有关,Debian使用符合Debian政策的不同布局,但在您的情况下/usr/share...无关紧要。无论如何,没有必要知道为了安装来自contrib的东西,因为不需要手动复制任何东西。

要从源代码安装pg_trgm扩展程序,有两个步骤:

1)从postgresql源代码树构建并安装它:

$ cd /path/to/src/postgresql-9.2.2/contrib/pg_trgm
$ make
$ sudo make install # or su -c 'make install' if you don't use sudo

2)在数据库中使用psql激活它:

$ sudo -u postgres psql -d database -c "create extension pg_trgm;"

要在将来创建的任何数据库上默认激活它,请将此命令应用于template1数据库。

答案 1 :(得分:2)

我已在Centos 7中使用Postgresql,并且允许安装pg_trgm的软件包:

  

$ yum install postgresql-contrib