安裝 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 安裝套件期間自動執行。問題是,requires 在這兩個腳本之前運行,並且由於未安裝 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>

相關內容