Postgres auf externer Festplatte ... Server doen't listen

Hallo Community,

ich habe Postgres 9.1.4 samt PostGIS 2.0 auf einer großen externen Festplatte installiert und bekomme bei jedem Neustart Probleme, die dazu führen, dass ich jedesmal alles neu installieren muss. Es kann keine Verbindung zur Datenbank aufgebaut werden, die Fehlermeldung lautet: “Server doesn’t listen”

Meine Einstellungen:
Port: 5432
Host: localhost

Alle meine Daten sowie der Installationsordner liegen auf der externen Festplatte. Der Computer auf dem ich damit arbeite gehört zu einem Behördennetzwerk, also findet höchstwahrscheinlich ein Systemupdate jede Woche statt.

Alles läuft auf Windows XP. Kann mir bitte jemand helfen??

Beste Grüße postsbs

Tja.

Ist denn sichergestellt, daß die Platte bei Start von PostgreSQL ansprechbar ist? Was für ein Filesystem ist da drauf? Externe Platte → vermutlich FAT, oder? Dann kannst Du das aber vergessen IIRC.
Startet denn der Server, was steht im Log? Was sagt netstat? Ist eine Tischbrandschutzbauer am rumpfuschen?


Andreas

Hallo Andreas,

die Platte hat NTFS und ich denke sie ist ansprechbar … jedenfalls läuft sie. Die Firewall ist aktiv, aber ich greif grad auf die neuinstallierte Version erfolgreich zu.
Log file gibt es glaub ich nicht, jedenfalls habe ich keine Änderungen diesbezüglich in der postgresql.conf vorgenommen.
Netstat laut cmd mit localhost:5432 Verbindung hergestellt.

postsbs

Dann sollte aber in pg_log ein logfile vorhanden sein.

Wenn wirklich keines da ist, solltest Du das so ändern, dass eines erzeugt wird, damit Du evtl. Fehler auch sehen kannst.

o.k. hab sie gefunden, aber keine speziellen Eintragungen zum Server, das ist das letzte log vor dem Abschalten. Heute morgen kam dann keine Verbindung mit dem Server zustande.

2012-07-13 14:54:59 CEST FATAL: das Datenbanksystem startet
2012-07-13 14:54:59 CEST LOG: Datenbanksystem wurde am 2012-07-13 14:52:41 CEST heruntergefahren
2012-07-13 14:54:59 CEST LOG: Datenbanksystem ist bereit, um Verbindungen anzunehmen
2012-07-13 14:54:59 CEST LOG: Autovacuum-Launcher startet
2012-07-13 14:59:21 CEST LOG: Checkpoints passieren zu oft (alle 21 Sekunden)
2012-07-13 14:59:21 CEST TIPP: Erhöhen Sie eventuell den Konfigurationsparameter »checkpoint_segments«.
2012-07-13 14:59:40 CEST LOG: Checkpoints passieren zu oft (alle 19 Sekunden)
2012-07-13 14:59:40 CEST TIPP: Erhöhen Sie eventuell den Konfigurationsparameter »checkpoint_segments«.
2012-07-13 14:59:53 CEST LOG: Checkpoints passieren zu oft (alle 13 Sekunden)
2012-07-13 14:59:53 CEST TIPP: Erhöhen Sie eventuell den Konfigurationsparameter »checkpoint_segments«.
2012-07-13 15:02:03 CEST FEHLER: Relation »fgd_we_f_gid_seq« existiert nicht
2012-07-13 15:02:03 CEST ANWEISUNG: CREATE TABLE public.XYXY

2012-07-13 15:02:42 CEST LOG: konnte Daten vom Client nicht empfangen: unrecognized winsock error 10061
2012-07-13 15:02:42 CEST LOG: unerwartetes EOF auf Client-Verbindung
2012-07-13 15:28:15 CEST FEHLER: Spalte »shape_leng« existiert nicht bei Zeichen 401
2012-07-13 15:28:15 CEST ANWEISUNG: insert into ZZZXX

2012-07-13 15:28:32 CEST FEHLER: Spalte »shape_area« hat Typ numeric, aber der Ausdruck hat Typ geometry bei Zeichen 409
2012-07-13 15:28:32 CEST TIPP: Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen.
2012-07-13 15:28:32 CEST ANWEISUNG: insert into XXX

2012-07-13 15:44:20 CEST LOG: schnelles Herunterfahren verlangt
2012-07-13 15:44:20 CEST LOG: etwaige aktive Transaktionen werden abgebrochen
2012-07-13 15:44:20 CEST LOG: Autovacuum-Launcher fährt herunter
2012-07-13 15:44:20 CEST FEHLER: storniere Anfrage wegen Benutzeraufforderung
2012-07-13 15:44:20 CEST FEHLER: storniere Anfrage wegen Benutzeraufforderung
2012-07-13 15:44:20 CEST FEHLER: storniere Anfrage wegen Benutzeraufforderung
2012-07-13 15:44:22 CEST LOG: Autovacuum-Launcher fährt herunter
2012-07-13 15:44:23 CEST LOG: fahre herunter
2012-07-13 15:44:23 CEST LOG: Datenbanksystem ist heruntergefahren

Wenn von heute keine Einträge drin sind, heisst das, dass PostgreSQL nicht läuft. Steht denn der Dienst auf “automatisch”? Ansonsten halt mal manuell starten.

Die Version die läuft ist heute morgen neu installiert.
Kann denn eine externe Festplatte überhaupt localhost sein? und stimmt der Port 5432?

Das Log war einige Tage alt. Irgendwer lügt.

Kann denn eine externe Festplatte überhaupt localhost sein? und stimmt der Port 5432?

Ähm, LOL.

Der Begriff ‘localhost’ bezeichnet netzwerktechnisch den lokalen Rechner. Hat mit der Platte exakt nix zu tun. Der Port 5432 ist Default-Port von PG. Solange Du den in der postgresql.conf nicht umstellst stimmt das. Du würdest es wissen, wenn Du es getan hättest. Zumindest hoffe ich das.


Andreas

Hier die Log von heute
die sagt nur genauso wenig, wie die letzte

2012-07-17 10:47:56 CEST LOG: Datenbanksystem wurde am 2012-07-17 10:47:51 CEST heruntergefahren
2012-07-17 10:47:56 CEST LOG: Datenbanksystem ist bereit, um Verbindungen anzunehmen
2012-07-17 10:47:57 CEST LOG: Autovacuum-Launcher startet
2012-07-17 11:00:13 CEST FATAL: Passwort-Authentifizierung für Benutzer »postgres« fehlgeschlagen
2012-07-17 11:00:24 CEST FATAL: Passwort-Authentifizierung für Benutzer »postgres« fehlgeschlagen
2012-07-17 11:00:56 CEST FATAL: Datenbank »template_postgis_20« existiert nicht
2012-07-17 11:05:20 CEST LOG: Checkpoints passieren zu oft (alle 17 Sekunden)
2012-07-17 11:05:20 CEST TIPP: Erhöhen Sie eventuell den Konfigurationsparameter »checkpoint_segments«.
2012-07-17 11:05:36 CEST LOG: Checkpoints passieren zu oft (alle 16 Sekunden)
2012-07-17 11:05:36 CEST TIPP: Erhöhen Sie eventuell den Konfigurationsparameter »checkpoint_segments«.
2012-07-17 11:05:48 CEST LOG: Checkpoints passieren zu oft (alle 12 Sekunden)
2012-07-17 11:05:48 CEST TIPP: Erhöhen Sie eventuell den Konfigurationsparameter »checkpoint_segments«.
2012-07-17 11:31:27 CEST FEHLER: Syntaxfehler bei ».« bei Zeichen 407
2012-07-17 11:31:27 CEST ANWEISUNG: insert into XXX

2012-07-17 11:31:44 CEST FEHLER: Relation »fgd_we_f_dissolve« existiert nicht bei Zeichen 457
2012-07-17 11:31:44 CEST ANWEISUNG: insert into YYY

2012-07-17 11:32:19 CEST FEHLER: kann Tabelle fgd_we_f nicht löschen, weil andere Objekte davon abhängen
2012-07-17 11:32:19 CEST DETAIL: Vorgabewert für Tabelle XXX Spalte gid hängt von Sequenz fgd_we_f_gid_seq ab
2012-07-17 11:32:19 CEST TIPP: Verwenden Sie DROP … CASCADE, um die abhängigen Objekte ebenfalls zu löschen.
2012-07-17 11:32:19 CEST ANWEISUNG: drop table fgd_we_f
2012-07-17 11:59:43 CEST FEHLER: Relation »fgd_we_f_gid_seq« existiert nicht
2012-07-17 11:59:43 CEST ANWEISUNG: CREATE TABLE public.ZZZ

2012-07-17 12:01:30 CEST FEHLER: Spalte »fb_allg« existiert nicht bei Zeichen 356
2012-07-17 12:01:30 CEST ANWEISUNG: insert into XYZ

2012-07-17 12:02:25 CEST FEHLER: kann Tabelle fgd_we_f_dissolve nicht löschen, weil andere Objekte davon abhängen
2012-07-17 12:02:25 CEST DETAIL: Vorgabewert für Tabelle fgd_we_f_kalkungsplanung_dissolve Spalte gid hängt von Sequenz fgd_we_f_dissolve_gid_seq ab
2012-07-17 12:02:25 CEST TIPP: Verwenden Sie DROP … CASCADE, um die abhängigen Objekte ebenfalls zu löschen.
2012-07-17 12:02:25 CEST ANWEISUNG: drop table fgd_we_f_dissolve
2012-07-17 12:44:20 CEST FEHLER: Relation »public.fgd_we_f_kalkungsplanung« existiert nicht
2012-07-17 12:44:20 CEST ANWEISUNG: ALTER TABLE public.XYZ OWNER TO postgres
2012-07-17 12:44:23 CEST FEHLER: Relation »fgd_we_f_kalkungsplanung« existiert nicht
2012-07-17 12:44:23 CEST ANWEISUNG: grant all on XYZ to public

Doch, das Log besagt, daß ein Client sich damit verbinden konnte und mehr oder weniger erfolgreich SQL-Befehle absetzen konnte.

Was fehlt ist jetzt, wo Du ein Verbindungsproblem hast.


Andreas

hi,
ich glaub ich werd gerad missverstanden :wink:

nach der (neu)installation (also heute) läuft’s so wie es soll.
aber vor der neuinstallation heut morgen kam der benannte fehler… ebenso wie letzte woche… wo ebenso eine neuinstallation das problem nur temp. behoben hat.



lg

Ja, Neuinstallation. The windows way of life.

Das nächste Mal schaust halt, was die Ursache ist.


Andreas

Aber das ist doch mein Problem, das ich die Ursache nicht kenne.

Es erscheint dann nur das Fenster mit der Fehlermeldung " Server doesn’t listen" und einigen Tips bezüglich Firewall, Host, TCP/IP was ich alles eigentlich gecheckt habe.

In anderen Foren wurde dieses Problem mittels einer der drei Einstellungen behoben, aber es wundert mich nur, dass es jetzt geht, aber nächste Woche sehr wahrscheinlich nicht mehr.

Ja, vielleicht hast ja so ne ‘Firewall’ aus einer gelben Schachtel …


Andreas

…grauer rechner, grüne brotbox … nichts gelbes in sicht …
aber evt schau ich ja falsch…

lg

Ändert sich der Laufwerksbuchstabe?

Der Buchstabe ändert sich nicht, entweder bleibt er automatisch gleich oder ich ändere ihn in dem GeräteManager

Ich sehe hier nur zwei Möglichkeiten:

  1. Nach einem Neustart startet der Dienst nicht automatisch. (-> Dienste -> postgresql-xxxxx -> Startart muss automatisch sein)

  2. Sollte der Dienst auf “automatisch” stehen könnte ich mir vorstellen, dass das USB-System nach der Datenbank gestartet wird und dadurch postgresql nicht gestartet werden kann. Logischerweise kann auch kein Log geschrieben werden, das würde ja auch auf der externen Platte landen.

In beiden Fällen sollte es helfen den Dienst per Hand zu starten.

Bingo!
Ich hatte die Platte erst nach dem Systemstart angeschaltet - entsprechend wurde der Dienst nicht mitgestartet -
DANKE!

Ich zitiere mal mich selbst, erster Satz in meiner ersten Antwort: “Ist denn sichergestellt, daß die Platte bei Start von PostgreSQL ansprechbar ist?”

Andreas