【问题标题】:How to use pg_trgm after postgresql installation from source从源代码安装 postgresql 后如何使用 pg_trgm
【发布时间】:2013-01-12 11:15:44
【问题描述】:

从源代码成功安装 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 之类的扩展的解释?

【问题讨论】:

    标签: postgresql installation


    【解决方案1】:

    假设你用./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
    $ 制作
    $ sudo make install # 或者 su -c 'make install' 如果你不使用 sudo
    

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

    $ sudo -u postgres psql -d database -c "创建扩展 pg_trgm;"

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

    【讨论】:

      【解决方案2】:

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

      $yum install postgresql-contrib

      【讨论】:

        猜你喜欢
        • 2017-12-22
        • 2019-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-01
        • 2021-04-30
        • 2011-06-12
        相关资源
        最近更新 更多