安装 PostgreSQL 9.5 CentOS 7

安装 PostgreSQL 9.5 CentOS 7

我正在尝试在 CentOS 7 上安装 PostgreSQL 9.5。

我在网上搜索过,要访问 9.5 RPM,需要通过以下命令安装 pgdg95:

sudo rpm -ivh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm

我正在通过我自己的 PostgreSQL RPM 安装 PostgreSQL 9.5。我正在安装的 RPM 包含我自己的脚本,我将使用 rpm-maven-plugin 将它们映射到服务器。我还使用此插件来安装 PostgreSQL 9.5 包,方法是将它们添加到<requires>POM.xml 配置部分。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>rpm-maven-plugin</artifactId>
    <version>2.1.5</version>
    <extensions>true</extensions>
    <configuration>
        <license>GPL (c) 2005, SWWDC</license>
        <distribution>distro</distribution>
        <group>group</group>
        <requires>
            <require>postgresql95-server</require>
            <require>postgresql95-contrib</require>
            <require>postgresql95-plpython</require>
        </requires>

        <mappings>
        </mappings>

        <prepareScriptlet>
            <scriptFile>src/scripts/prepinstall.sh</scriptFile>
        </prepareScriptlet>
        <preinstallScriptlet>      
            <scriptFile>src/scripts/preinstall.sh</scriptFile>
        </preinstallScriptlet>
        <postinstallScriptlet>
            <scriptFile>src/scripts/postinstall.sh</scriptFile>
        </postinstallScriptlet>
    </configuration>
</plugin>

正如您所看到的,我已将预安装和准备安装脚本添加到包中,这些脚本在 YUM 安装包期间自动运行。问题在于,require 在这两个脚本之前运行,并且由于未安装 pgdg95 RPM,因此它们失败。

在安装所需的 RPM 之前,如何运行问题开头的命令?准备/预安装脚本似乎不起作用,因为需求在它们之前运行。

答案1

我实施的解决方案是在安装时使用 kickstart 中的以下行添加存储库:

repo --name="PostgreSQL" --baseurl="http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/"

然后在POM.xml中添加:

<requires>pgdg-centos95-9.5-2.noarch.rpm</requires>

相关内容