Upgrade PostgreSQL 8.4SS >> 9.1.2.1

Hallo, ich versuche jetzt schon eine ganze Weile den alten Server (PostgreSQl 8.4SS) in eine neue Installation (PostgreSQL 9.1.2.1) zu migrieren. Das ganze ist auf einer Windows 2003 Server Maschine installiert.

Habe es erst mit pg_dumpall probiert und hatte damit aber keinen Erfolg.
Ich habe dann folgenden Befehl probiert und kriege diese Fehlermeldung.

D:\Program Files\PostgreSQL\9.1\bin>pg_upgrade -d “D:\Program Files\PostgresPlus\8.4SS\data” -D “D:\Program Files\PostgreSQL\9.1\data” -b “D:\Program Files\PostgresPlus\8.4SS\bin” -B “D:\Program Files\PostgreSQL\9.1\bin”

Wieso versucht er sich zu Localhost zu verbinden, obwohl ich hier dazu aufgefordert wurde beide Datenbank Cluster zu stopppen (wonach ja dann keine Verbindung in Erwägung gezogen werden könnte).

Performing Consistency Checks

Checking current, bin, and data directories ok
Checking cluster versions ok

connection to database failed: could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host “localhost” (127.0.0.1) and accepting
TCP/IP connections on port 5432?

unable to connect to old postmaster started with the command: ““D:\Program Files\PostgresPlus\8.4SS\bin/pg_ctl” -w -l “nul” -D “D:\Program Files\PostgresPlus\8.4SS\data” -o “-p 5432 -c autovacuum=off -c autovacuum_freeze_max_age=2000000000” start >> “nul” 2>&1” Failure, exiting

Vielen Dank für eure Vorschläge.

Nie pg_upgrade benutzt, aber ich sehe da einen Unterschied zwischen deiner Anleitung und Unix man pages: PG_UPGRADE (1), und das halte ich schon mal für recht fatal (nicht Dein Fehler), wenn einmal beide Server stehen sollen und das andere Mal der neue laufen soll (was mir auch logischer erscheint).

Was ist denn bei pg_dumpall schiefgelaufen?


Andreas

pg_upgrade startet und stoppt beide Installationen mehrfach während der Konvertierung.

Deswegen sollten man dieser Empfehlung im Handbuch durchaus nachkommen:

Ahhhh, cool :wink:


Andreas

@akretschmer: Also der Dump an sich hat ohne Fehler funktioniert. Beim Import per ‘psql’ gab es allerdings massive Probleme, zum einen das die Rolle ‘postgres’ schon vorhanden war und dann läufts ja runter wie Suppe und ich konnte zwischendrin einfach nur Fehler, Fehler, Fehler erkennen und natürlich ist nichts passiert.
Ich habe auf dem 8.4SS PostGis installiert, kann es evtl daran liegen das er die Funktionen auch mit dumpt ?? Ich habe genau aus diesem Grund vorerst PostGis auf dem 9er nicht installiert.

@castorp:

Wie genau meinst du das mit “Authentication auf Trust setzen” da steig ich nicht genau hinter wie die Syntax da ist.

Ich habe die pgpass.conf unter c:\Doc & User…\Anwendungsdaten\postgresql\ gefunden und ein Attribut " ::::* " gesetzt


und hatte wieder exakt denselben Fehler bzw. Failure Message das der Server nicht erreicht werden konnte (was ja auch stimmt da ich ihn ja ausgemacht habe.)


Wo steh ich denn hier auf dem Schlauch ?

Danke für die schnellen Antworten.

Was ist das eigentlich für eine Version? Was bedeutet das SS bei der Nummer?

Wie genau meinst du das mit “Authentication auf Trust setzen” da steig ich nicht genau hinter wie die Syntax da ist.

Das wird in der pg_hba.conf gemacht.
PostgreSQL: Documentation: Manuals: The pg_hba.conf File

Ich habe die pgpass.conf unter c:\Doc & User…\Anwendungsdaten\postgresql\ gefunden und ein Attribut " ::::* " gesetzt

Nein, dort musst Du die Passwörter eintragen. Das Format der pgpass.conf ist hier dokumentiert:

PostgreSQL: Documentation: Manuals: The Password File

Also z.B.:

localhost:5432:* :p ostgres:secret



und hatte wieder exakt denselben Fehler bzw. Failure Message das der Server nicht erreicht werden konnte (was ja auch stimmt da ich ihn ja ausgemacht habe.

Wie gesagt, pg_upgrade versucht auch den Server wieder zu starten. Vermutlich klappt das schon nicht. Schau mal in den Logfiles (normalerweise im Verzeichnis pg_log) der Server nach ob da noch irgendwelche Fehler drin stehen die erklären warum der Server nicht startet.

Hast Du denn beide Server gestoppt bevor du pg_upgrade gestartet hast?

Frage:

castorp(> 14:02> ): Hast Du denn > beide > Server gestoppt bevor du pg_upgrade gestartet hast?

Antwort:

Shitake(> 11:57> ):
Wieso versucht er sich zu Localhost zu verbinden, obwohl ich > hier > dazu aufgefordert wurde > beide Datenbank Cluster > zu stopppen (wonach ja dann keine Verbindung in Erwägung gezogen werden könnte).

:wink: Wenn ich beide stoppen soll, stoppe ich auch beide.

Das wird in der pg_hba.conf gemacht.
PostgreSQL: Documentation: Manuals: The pg_hba.conf File

Das war mir klar :slight_smile: nur wie der Eintrag aussehen musste, war ich mir nicht sicher. Von daher habe ich nach der Syntax gefragt!
So wie du es mir bei der Einstellung für die pgpass.conf beschrieben hast. Da hab ich zB. was falsch gemacht und deine Erklärung war genau das was ich mir dazu gedacht hatte.


In den logfiles steht natürlich nichts, da die Server zu der Zeit down waren und ja niemals hochgefahren werden konnten, wie mein Fehler ja schon gezeigt hatte.

Das SS steht für Standard Server.

Ich habe die pgpass.conf und die pg_hba.conf angepasst und kriege immer noch den Fehler das er den Server nicht starten kann wie in Post#1
Beide Server sind gestoppt, alle von euch angestrebten Änderungen eingestellt und ich erhalte 1:1 denselben Error wie vorher :confused:

Starte pg_upgrade doch mal mit der option --debug und --verbose
Vielleicht werden dann mehr (oder bessere) Fehlermeldungen ausgegeben.

Hi.

Oh man die Probleme hören nicht auf. Jetzt lässt sich nichtmal der 8.4er starten.
“Timed out waiting for server startup” oder
“could not open process token: error code 5”
Windows 2003 Server SP2.

Hab schon gegooglet, bevor das gleich wieder kommt.
Die postgresql.conf wurde nicht geändert.