Export: Rolle »"DBA"« existiert nicht

Ich möchte mit PGAdmin III eine Datenbank sichern (plain) und erhalte folgende Meldung:

C:\Programme\pgAdmin III\1.10\pg_dump.exe --host localhost --port 5432 --username ““DBA”” --format plain --verbose --file “Z:\Save\PostgresSaves\test.backup” pg_test
pg_dump: [archiver (db)] connection to database “pg_test” failed: FATAL: Rolle »“DBA”« existiert nicht
pg_dump: *** aborted because of error
Prozess beendete mit Exitcode 1.

  • Unter dem Node Login-Rollen(1) sehe ich aber DBA
  • Sonstige Zugriffe mit JDBC jdbc :p ostgresql://localhost:5432/pg_test mache ich alle mit DBA und diese funktionieren problemlos.

Vielen Dank für jeden Tipp

–username “DBA” geht nicht?


Andreas

Du bist aber schnell…!
Ich verstehe Deine Frage nicht. Ich kann im PGAdmin III alles erstellen, verändern, löschen ohne Problem, aber beim Export kommt die besagte Meldung.

Man kann pg_dump auch, Überraschung!, auch OHNE PGAdmin verwenden.

kretschmer@tux:~$ createuser -s "DBA"
kretschmer@tux:~$ pg_dump -U DBA test > test.dump
kretschmer@tux:~$ pg_dump -U "DBA" test > test.dump
kretschmer@tux:~$ pg_dump -U "dba" test > test.dump
pg_dump: [archiver (db)] connection to database "test" failed: FATAL:  role "dba" does not exist
kretschmer@tux:~$ pg_dump -U dba test > test.dump
pg_dump: [archiver (db)] connection to database "test" failed: FATAL:  role "dba" does not exist

Mal so als kleine Spielerei zum Nachmittag…


Andreas

Ich wäre sehr froh um Hilfe für mein konkretes Anliegen, bitte keinen workarround.

  • Was meintest du mit --username “DBA” geht nicht ?
  • Woran könnte das liegen, dass die Meldung Rolle »“DBA”« existiert nicht erscheint, obwohl die Rolle sichtbar ist.

Hat jemand eine Idee ?

Vielleicht ein Bug in PGAdmin.

Noch einmal: man muß nicht PGAdmin verwenden, man kann. Und man kann pg_dump auf einer Kommandozeile nutzen. Sogar Windows besitzt eine. Und in dieser kannst Du pg_dump einsetzen und selber (ja, ich weiß, mag wie eine Zumutung klingen) die Optionen an pg_dump definieren.

Andreas

Unter Sicherung/Meldungen zeigt dir PGAdmin auch den konkreten pg_dump-Aufruf, den es ausführt. Das macht schlicht auch nix anderes…

Gruß uwe

Ich habe es rausgefunden:
Es war noch eine ältere Version von pg_Dump in einem anderen Verzeichnis. Nachdem ich diese auf pg_admin_alt.exe umgetauft und die aktuelle Version reinkopiert hape funktioniert es.
Weiss jemand wo, dass pgAdmin den Verweis (Path) auf das zu verwendende pg_Dump.exe hernimmt ?

Gruss und danke für eure Hilfe.

Ich denke, es muß irgendwo im Systempfad stehen, so dass es automatisch gefunden wird. Auch unter Windows sollte es sowas wie PATH geben, war zumiest früher so :wink:
Wenn es dann in mehreren Pfaden zu finden wäre wird der erste Fund verwendet. Man kann das durch die Reihenfolge in der Pfadvariablen steuern.

Gruß Uwe

OK Danke Uwe,

Unterdessen ist mir einiges klar geworden. PG_Save verwendet diverse weiter Dateien aus dem aktuellen Verzeichniss wo pg_save aufgerufen wurde. Das oben von mir erwähnte, blosse reinkopieren des neusten .exe führt zu weiteren Fehlern.

Ich habe also aufgeräumt (verschiedene Testumgebungen mit PG und AdminIII) und gemäss euren Empfehlungen als Kommandozeile ausgeführt und siehe da : Die selbe Meldung !
Und siehe da: Der grund lag an der Bezeichnu8ng der Rolle (“DBA”) die mir pg_admin ursprünglich vorgeschlagen hat. Ich habe sie auf DBA statt “DBA” geändert im Aufruf. Nun Funktioniert es tatsächlich !


Gruss