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