Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从源代码安装postgresql后如何使用pg_trgm_Postgresql_Installation - Fatal编程技术网

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

从源代码安装postgresql后如何使用pg_trgm,postgresql,installation,Postgresql,Installation,在成功地从源代码(在OpenSUSE 11.4上,存储库中没有此版本)安装postgresql 9.2.2之后,我正在尝试恢复一个使用pg_trgm扩展的数据库。这会导致错误,因为找不到pg_trgm 从这个StackOverflow问题:,我推断pg_trgm应该在/usr/share/postgresql//contrib中,但是在我的/usr树中没有contrib文件夹 此外,我似乎找不到一个关于postgres扩展机制如何工作,或者如何手动安装扩展的清晰解释 postgresql源代码树

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

从这个StackOverflow问题:,我推断pg_trgm应该在/usr/share/postgresql//contrib中,但是在我的/usr树中没有contrib文件夹

此外,我似乎找不到一个关于postgres扩展机制如何工作,或者如何手动安装扩展的清晰解释


postgresql源代码树中有一个contrib文件夹,但我不知道如何使用它。我是否应该手动将其复制到/usr树的某个位置?有人能告诉我(或解释一下)如何在postgresql中安装像pg_trgm这样的扩展吗?

假设您已经用
/configure
配置了postgresql,它使用了默认前缀
/usr/local/pgsql
,这样所有东西都可以安装在该目录下

您链接到的答案与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
要在将来创建的任何数据库上默认激活它,请将此命令应用于
template1
数据库。

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

$yum安装postgresql contrib

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