blog.bartlweb - a technologist's external brain

Upgrade von Alfresco PostgreSQL-Bundle

Wer Alfresco mit dem mitgelieferten PostgreSQL Datenbankserver nutzt wird sich früher oder später darüber ärgern müssen, dass sich eine PostgreSQL-Datenbank einer Vorgängerversion nicht einfach mit einer neueren Version starten lässt. Daher muss bei jedem Upgrade der Version entweder das Upgrade-Tool genutzt werden oder zunächst ein Datenbank-Dump erstellt werden, der dann in der neuen Version wieder eingespielt wird. Um Alfresco dennoch regelmäßig auf den neuen Stand bringen zu können hilft die unten stehende Anleitung beim Upgrade.

Machen Sie zunächst einen Dump der bestehenden Datenbank. Dazu muss die Alfresco-Instanz oder zumindest PostgreSQL laufen.

/opt/<alfresco-verzeichnis>/postgresql/bin/pg_dump -h localhost alfresco > /tmp/alfrescodb

Jetzt können Sie Alfresco stoppen und die neue Version installieren.

Danach müssen wir den zuvor erstellten Datenbank-Dump in die neue Alfreso-Version importieren. Starten Sie dazu zunächst nur den PostgreSQL-Server aus der neuen Installation.

/opt/<neues alfresco-verzeichnis>/alfresco.sh start postgresql

Jetzt können wir über die folgenden Befehle die leere Datenbank aus der neuen Installation löschen, eine neue leere Datenbank anlegen und unser Backup einspielen

/opt/<neues alfresco-verzeichnis>/postgresql/bin/dropdb alfresco -h localhost -i
/opt/<neues alfresco-verzeichnis>/postgresql/bin/createdb -T template0 alfresco -h localhost
/opt/<neues alfresco-verzeichnis>/postgresql/bin/psql alfresco -h localhost < /tmp/alfrescodb

Nachdem wir nun die Datenbank wieder eingespielt haben, müssen Sie noch den Inhalt von alf_data aus der alten Installation in die Neue kopieren. Kopieren Sie dazu alle Ordner, bis auf postgresql und solr, also contentstore, contentstore.deleted, keystore und falls vorhanden oouser! Sollten sie in der alten Installation manuelle Änderungen an der Konfigurationsdatei /opt/<alfresco-verzeichnis/tomcat/shared/classes/alfresco-global.properties
vorgenommen haben, müssen Sie diese in der aktuellen Installation per Hand nachziehen. Dann können sie die neue Installation starten.

Das Passwort von PostgreSQL ist jenes, welches Sie während des Installationsprozesses als Admin-Passwort angegeben haben.

Dieser Artikel hat Dir deinen Tag gerettet?

... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? Oder einfach nur Dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Anerkennung honorierst:

Zahlung mit PayPal oder Kreditkarte.

Hinweis zur Verwendung

Die Übermittlung einer Zahlung ist eine persönliche Anerkennung Ihrerseits an den Entwickler (Christian Bartl, Privatperson). Eine Zahlung ist nicht zweckgebunden und es ist keine Gegenleistung zu erwarten. Bitte beachten Sie, dass für eine übermittelte Zahlung keine Quittung ausgestellt werden kann.

Über den Autor

Christian Bartl

Christian Bartl Projektmanagement & Konzeption für Online und Mobile

Als Technologie-Enthusiast und begeisterter Programmierer entwickle ich in meiner Freizeit Websites, Software und IT-Lösungen, die mir selbst und anderen den Alltag vereinfachen.

mehr auf bartl.me

Kommentare

  1. In den aktuellen Versionen legt Alfresco einen eigenen Datenbankbenutzer "alfresco" an, der pg_dump als Parameter mitübergeben werden muss:

    /opt/alfresco-community/postgresql/bin/pg_dump -h localhost -U alfresco alfresco > /tmp/alfrescodb

    Damit die Wiederherstellung funktioniert müssen die Befehle als Nutzer postgres ausgeführt werden.

    kommentieren

Kommentar schreiben

Der hier angegebene Name wird gemeinsam mit deinem Kommentar auf der Website veröffentlicht.

Deine E-Mail-Adresse wird zur einmaligen Benachrichtigung bei Veröffentlichung des Kommentars genutzt.

Benachrichtigung per E-Mail über Antworten auf meinen Kommentar erhalten.

Bitte tippe die Zahlenkombination "1335" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.