|
Wer seine Postgresql-Datenbanken behalten möchte, verwendet anstelle des Hilfsskripts "launchpad-database-setup" folgende Prozedur:
Sofern man noch eine ältere PostgreSQL-Version bis 8.2 betreibt, hält man diese zunächst an. Im Fall von PostgreSQL 8.2 beispielsweise per
sudo -u postgres pg_ctlcluster 8.2 main stop
Jetzt stellt man sicher, dass alle existierenden PostgreSQL Cluster nicht auf Port 5432 lauschen. Dazu öffnet man in jedem Unterverzeichnis von "/etc/postgresql/<version>/" die Datei "postgresql.conf" und setzt in ihr die "port = "-Angabe auf einen von 5432 verschiedenen Wert, also beispielsweise 5433, 5434, etc.
Nachdem die alten Datenbanken in Sicherheit gebracht wurden, kann man sich der vom "rocketfuel"-Installationsskript eingespielten PostgreSQL Version 8.3 zuwenden. Dort wirft man zunächst die Standarddatenbank über Bord und erstellt sie mit der von Launchpad eingeforderten Locale neu:
sudo pg_dropcluster 8.3 main --stop-server
LC_ALL=C sudo pg_createcluster 8.3 main --start --encoding UNICODE
Sofern man bereits die Standarddatenbank von PostgreSQL 8.3 für eigene Zwecke verwendet, sollte man die darin enthaltenen Daten besser vorher umtopfen, selbst dann, wenn die Locale bereits passt.
Im nächsten Schritt fügt man am Anfang der Datei "/etc/postgresql/8.3/main/pg_hba.conf" die folgenden Zeilen hinzu:
local all all trust
local all all 127.0.0.1/32 trust
Damit erhalten alle Benutzer des Computers vollen Zugriff auf PostgreSQL. Das gleichzeitig entstehende Sicherheitsrisiko erzwingt Launchpad leider. Wer es nicht eingehen kann, muss bei Canonical um individuelle Hilfe bitten.
Weiter geht es mit der Datei "/etc/postgresql/8.3/main/postgresql.conf". In ihr setzt man die folgenden Einstellungen beziehungsweise kommentiert sie aus:
search_path='"$user",public,ts2'
add_missing_from=off
#enable_seqscan=on
log_statement='all'
log_line_prefix='[%t] %q%u%d '
fsync = off
max_fsm_relations = 2000
Mit den neuen Einstellungen fährt man den PostgreSQL Server (wieder) hoch:
sudo invoke-rc.d postgresql-8.3 restart
Abschließend stellt man noch sicher, dass der PostgreSQL Standardbenutzer Superuser-Rechte besitzt:
sudo -u postgres dropuser $(id -un)
sudo -u postgres createuser -s -d $(id -un)
Eine etwaige Fehlermeldung des ersten Befehls darf man ignorieren.
|