Instale o PostgreSQL 9.5 CentOS 7

Instale o PostgreSQL 9.5 CentOS 7

Estou tentando instalar o PostgreSQL 9.5 no CentOS 7.

Pesquisei online e para ter acesso aos 9,5 RPMs é necessária a instalação do pgdg95 através do seguinte comando:

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

Estou instalando o PostgreSQL 9.5 por meio do meu próprio RPM do PostgreSQL. O RPM que estou instalando contém meus próprios scripts e usarei o rpm-maven-plugin para mapeá-los para o servidor. Também estou usando este plugin para instalar os pacotes do PostgreSQL 9.5 adicionando-os à <requires>seção de configuração do 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>

Como você pode ver, adicionei um script de pré-instalação e de preparação ao pacote, que são executados automaticamente durante a instalação do pacote pelo YUM. O problema é que o require é executado antes de ambos os scripts e eles falham porque o RPM pgdg95 não está instalado.

Como posso executar o comando no início da pergunta antes que os RPMs necessários sejam instalados? Os scripts de preparação/pré-instalação parecem não funcionar, pois os requisitos estão sendo executados antes deles.

Responder1

A solução que implementei foi adicionar o repositório no momento da instalação usando a seguinte linha no kickstart:

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

e então adicionar no POM.xml:

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

informação relacionada