Linux

安裝 PostgreSQL 9.5 CentOS 7

  • May 26, 2016

我正在嘗試在 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 之前,如何在問題的開頭執行命令?準備/預安裝腳本似乎不起作用,因為需要在它們之前執行。

我實施的解決方案是在安裝時使用 kickstart 中的以下行添加 repo:

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>

引用自:https://unix.stackexchange.com/questions/284285