Fehler beim Starten des Servers "ShmemIndex-Eintraggröße ist falsch"

Ludwigmller

SQL-Guru
Beiträge
168
Moin,
weiß jemand wie ich diesen Fehler beheben kann? Der Server wurde nicht richtig heruntergefahren. Danach konnte ich ihn noch einmal starten. Jetzt kommt folgender Fehler:

Code:
D:\DB\pgsql\bin>pg_ctl -D "D:\db\pgsql\data" start
warte auf Start des Servers....2022-06-10 06:03:08.201 CEST [1792] LOG:  unrecognized win32 error code: 1006
2022-06-10 06:03:08.234 CEST [1792] LOG:  PostgreSQL 13.2, compiled by Visual C++ build 1914, 64-bit startet
2022-06-10 06:03:08.247 CEST [1792] LOG:  erwarte Verbindungen auf IPv6-Adresse »::1«, Port 5432
2022-06-10 06:03:08.248 CEST [1792] LOG:  erwarte Verbindungen auf IPv4-Adresse »127.0.0.1«, Port 5432
2022-06-10 04:03:08.367 GMT [14516] FATAL:  ShmemIndex-Eintraggröße ist falsch für Datenstruktur »XLOG Ctl«: erwartet 272288, tatsächlich 4208288
2022-06-10 06:03:08.376 CEST [1792] LOG:  Startprozess (PID 14516) beendete mit Status 1
2022-06-10 06:03:08.377 CEST [1792] LOG:  Serverstart abgebrochen wegen Startprozessfehler
2022-06-10 06:03:08.380 CEST [1792] LOG:  Datenbanksystem ist heruntergefahren
 Warten beendet
pg_ctl: konnte Server nicht starten
Prüfen Sie die Logausgabe.
 
Werbung:
noch einmal den Server rebooten evtl.?

EDIT: welches OS hat der Server?
Habe bei Debian die Erfahrung gemacht, dass man den Service eigenhändig einfach mittels:
Code:
service postgresql start

starten kann...
Hatte auch mal das Problem, dass Locales nicht gesetzt waren zur PG Installation, und deshalb der Cluster nicht automatisch erstellt wurde, oder so...
 
Zuletzt bearbeitet:
das könnte daran liegen, daß Du das als falscher User machst, starte PG nicht als root (oder admin unter windows. was Du wohl hast aufgrund der Pfadangabe)
 
(oder admin unter windows. was Du wohl hast aufgrund der Pfadangabe)
Das ist eigentlich unter Windows seit einer ganzen Weile kein Problem mehr.

Postgres gibt dann beim Starten die zusätzlichen Privilegien wieder ab, so dass der Service - obwohl er als Administrator gestartet wurde - wie ein normaler Benutzer läuft.
 
Ich habe ein Backup des Server-Verzeichnisses, von wo aus der Server gestaret werden kann, nur die Datenbank ist nicht aktuell. Daher würde ich gerne ein DB-Backup einspielen. Dieses wurde mit
K:\DB\pgsql\bin\pg_dump.exe --file="K:\db\backups\postgresql\%timestamp%-db-name.sql" --host="localhost" --port "5432" --username="postgres" --format=p "db-name" erzeugt.
Wie mache ich das am besten? Muss die bestehende DB "db-name" vorher gelöscht werden?
 
Werbung:
Zurück
Oben