Installieren Sie PostgreSQL 9.5 CentOS 7

Installieren Sie PostgreSQL 9.5 CentOS 7

Ich versuche, PostgreSQL 9.5 auf CentOS 7 zu installieren.

Ich habe online gesucht und um Zugriff auf die 9,5 RPMs zu erhalten, muss pgdg95 mit dem folgenden Befehl installiert werden:

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

Ich installiere PostgreSQL 9.5 über mein eigenes PostgreSQL RPM. Das RPM, das ich installiere, enthält meine eigenen Skripte und ich werde das RPM-Maven-Plugin verwenden, um sie dem Server zuzuordnen. Ich verwende dieses Plugin auch, um die PostgreSQL 9.5-Pakete zu installieren, indem ich sie dem <requires>Abschnitt der POM.xml-Konfiguration hinzufüge.

<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>

Wie Sie sehen, habe ich dem Paket sowohl ein Vorinstallations- als auch ein Vorbereitungsinstallationsskript hinzugefügt, die während der YUM-Installation des Pakets automatisch ausgeführt werden. Das Problem besteht darin, dass das erforderliche Skript vor diesen beiden Skripten ausgeführt wird und diese fehlschlagen, da das pgdg95-RPM nicht installiert ist.

Wie kann ich den Befehl am Anfang der Frage ausführen, bevor die erforderlichen RPMs installiert werden? Vorbereitungs-/Vorinstallationsskripte scheinen nicht zu funktionieren, da die erforderlichen RPMs vor ihnen ausgeführt werden.

Antwort1

Die von mir implementierte Lösung bestand darin, das Repo während der Installation mithilfe der folgenden Zeile im Kickstart hinzuzufügen:

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

und dann in die POM.xml einfügen:

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

verwandte Informationen