Befehl um Datenbank zu beenden und Grundeinstellung der Shell zu bekommen

Hallo, habe gerade PostgreSQL auf Vista mit Installer und die PostGIS-Erweiterung über den Stack Builder installiert. Bin absolut neu und habe ein Problem beim Öffnen der Shell psql:

ich bekomme da sofort
“Server [localhost]:” angezeigt und muss nun nacheinander den Datenbankname, Port und den User bestätigen, und schon habe ich angezeigt:

Datenbankname#

ich will aber einen Befehl außerhalb in der Grundeinstellung der Shell eingeben, wie geht das, wie komme ich aus der Datenbank raus. Habs auch schon über cmd.exe mit “C:\program files\postgresql\9.0\bin” probiert

Wenn ich dort “C:\program files\postgresql\9.0\bin> psql -U User -1” eingebe, sollte ich ja eigentlich eine Liste der Datenbanken bekommen, stattdessen wieder:

Datenbankname#

Was zum Teufel mache ich falsch?

Ich glaube, ich habe deine Probleme nicht verstanden. Vielleicht kannst du das noch mal ruhug, deutlich und ohne Flüche erklären.

Fragen:

  • Wieso musst du Datenbankname, Port und User bestätigen?
  • Suchst du den Befehl, um die “psql”-Shell wieder zu verlassen?
  • Was genau probierst du da mit cmd.exe aus? Versuchst du das innerhalb der Datenbankshell?
  • Ist dir (für den Anfang) pgAdminIII bekannt? Das sollte ebenfalls mit installiert worden sein.

Oh, und ein paar Fehlermeldungen wären auch praktisch.

By the way: wenn du psql startest steht da was von “help”. Vielleicht solltest du das einfach mal ausprobieren …

Als erstes die Doku lesen. PostgreSQL ist kein Spielzeug und auch nicht zum hacken gedacht.

Ich kann Dir nur PgAdmin empfehlen, da kommst Du besser mit zurecht.

Für Standardprobleme gibt es hier auch noch die FAQ, die man auch mal lesen sollte.



mfg

fristo

Hmm, die Aufforderungen kommen ja von dem runpsql.bat Script welches vom Enterprise DB Installer erstellt wird (und darauf verweist der Menüeintrag im Windows-Startmenü.
Bei mir liegt das unter “c:\Program Files\PostgreSQL\9.0\scripts\runpsql.bat”, sollte eigentlich nicht ausgeführt

Bist Du Dir sicher, dass Du wirklich psql.exe ausführst?

Starte psql doch mal explizit mit Angabe des Pfades (anstatt einfach psql einzutippen), als z.B. mit

c:\Program Files\PostgreSQL\9.0\bin\psql -l

Was ist denn der Inhalt Deiner PATH Umgebungsvariable?

Hallo ads,

vielen Dank für die Rückmeldung. Ich möchte versuchen die Nachfragen zu beantworten, um mein Problem, was ich eben nicht mit versch. Tutorials und help lösen konnte:

    • Wieso musst du Datenbankname, Port und User bestätigen?
      Das lag daran, dass ich nicht die psql.exe gestartet habe, sondern über das Startmenü die “SQL Shell (psql)”:

Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
psql (9.0.0)
Warnung: Konsolencodeseite (850) unterscheidet sich von der Windows-
Codeseite (1252). 8-Bit-Zeichen funktionieren möglicherweise nicht
richtig. Einzelheiten finden Sie auf der psql-Handbuchseite unter
»Notes for Windows users«.
Geben Sie »help« für Hilfe ein.

postgres=#

2.- Suchst du den Befehl, um die “psql”-Shell wieder zu verlassen?
Nein: \q ist mir bekannt

3.- Was genau probierst du da mit cmd.exe aus? Versuchst du das innerhalb der Datenbankshell?
c:\Program Files\PostgreSQL\9.0\bin>psql.exe
Passwort:
psql: FATAL: Passwort-Authentifizierung für Benutzer »Christian« fehlgeschlagen

c:\Program Files\PostgreSQL\9.0\bin>

Das Passwort ist nicht falsch, sondern der Cursor blinkt, lässt aber keine Eingabe zu!!!

4.- Ist dir (für den Anfang) pgAdminIII bekannt? Das sollte ebenfalls mit installiert worden sein.
Ja, pgAdminIII ist mir bekannt und sicherlich für Anfänger ratsam, ich habe aber eine Anleitung zum Anlegen einer räumlichen Datenbank für PostGIS mittels Befehlen. Wenn ich das so befolgen könnte, hätte ich ein Tabelle mit den OIDS, Datentypen, Projektion und Beispielgeometrien wie ich sie benötige.

Das Problem ist wahrscheinlich nur dieser tote Cursor bei der Passworteingabe. Lohnt es sich, alles mal unter XP zu installieren?

Hallo Castorp,
ich habe offenbar tatsächlich nicht psql.exe ausgeführt sondern die “SQL Shell (psql)” aus dem Startmenü. Ich habe nun Ihren Ratschlag befolgt und habe die psql.exe direkt gestartet:

C:\Program Files\PostgreSQL\9.0\bin>psql -1
Passwort:
psql: FATAL: Passwort-Authentifizierung für Benutzer »Christian« fehlgeschlagen

C:\Program Files\PostgreSQL\9.0\bin>psql -1
Passwort:

Wie man sieht, ging die Anmeldung schief, aber nicht weil ich das Passwort vergessen habe oder falsche ingetippt habe, sondern weil der Cursor nach “Passwort:” tot ist, er blinkt, aber ich kann nicht eingeben. Wenn ich Enter mache, wird wieder das Passwort abgefragt.

Ich habe inzwischen PostgreSQL und PostGIS neu installiert, aber es besteht weiterhin das Problem.

Was passiert, wenn du “-U postgres” als Option mit angibst?

Wer sich wie mit welcher Methode und von wo anmelden darf, ist in der Datei pg_hba.conf festgelegt.
Für den Anfang kann man dort auch mal “trust” eintragen - solange man so eine Konfiguration nicht in die Produktion schickt.

Die Datei selbst enthält ausführliche Dokumentationen und Beispiele.

Wenn PostGIS bereits installiert ist, kannst du die folgenden Schritte (template anlegen, sqls ausführen) eigentlich auch im PGAdmin durchführen.

Gruß Uwe

Hallo, wenn ich “-U postgres” mit angebe:
psql1.jpg
Die Anwendung konnte nicht gestartet werden, weil LIBEAY32.dll nicht gefunden wurde. Neuninstallation der Anwendung könnte das Problem beheben.
Ich werde am Wochenende mal die Version PSQL 8.4 und PostGIS 1.4.0 probieren, vielleicht habe ich damit mehr Freude. Danke für den Versuch mir zu helfen.

Aber über die batch Datei kannst Du psql doch starten?
Ich kann mir nicht vorstellen, dass eine Neu-Installation notwendig ist.

Eine andere Version von PostgreSQL zu installieren bringt auch keine Lösung. Ich habe PSQL bei mir mal ausführlich getestet. PSQL verhält sich bei mir auch nicht anders, wie Du hier beschrieben hast. Bei mir ist allerdings die genannte DLL vorhanden.

mfg

fristo

Ist das eine theoretische Frage oder hast Du das bei Dir einmal praktisch getestet?

PSQL verhält sich bei mir auch so wie von ChriSGD hier beschrieben. Dabei gibt keinen Unterschied ob ich PSQL direkt starte oder mittels der BATCH-Datei aufrufe.



mfg

fristo

Ich glaube Du hast da ein paar Leute verwechselt :slight_smile:
Ich (castorp) habe gar kein Problem mit Postgres

ChrisD hat ein Problem, hat aber in Post #5 beschrieben, dass er über die .bat Datei die der EnterpriseDB Installer anlegt, psql starten kann.

Komischerweise aber nicht über die Kommandzeile direkt (Post #9)

Meine Vermutung ist, dass das was an seiner Umgebung (z.B. Umgebungsvariable) in der Kommandozeile nicht stimmt, denn grundsätzlich läuft psql ja bei ihm .