Wie stelle ich den externen Editor für den psql-Client von PostgreSQL ein?

8

Was füge ich in eine ~/.psqlrcDatei ein, um den Standardeditor festzulegen?

Der Editor, den ich verwenden möchte ( Textmate ), ist bei /Users/username/bin/mate.

Ich habe die Stelle in den Dokumenten gefunden, an der darüber gesprochen wird, und verschiedene Syntaxvarianten ausprobiert, kann sie aber anscheinend nicht zum Laufen bringen.

Zum Beispiel hat das nicht funktioniert ...

\set PSQL_EDITOR "/Users/username/bin/mate"

Wenn ich in psql eintrete, \ebekomme ich ...

sh: /usr/local/bin/mate: No such file or directory
sh: line 0: exec: /usr/local/bin/mate: cannot execute: No such file or directory
Ethan
quelle
3
Ich vermute, es /Users/username/bin/matehandelt sich um eine symbolische Verbindung zu /usr/local/bin/mate, die es nicht gibt.
Philᵀᴹ
Ja, es ist ein Symlink. Ich habe versucht, den direkten Pfad zur ausführbaren Datei festzulegen. Gleiches Ergebnis.
Ethan
Können Sie den Standardeditor überhaupt nicht ändern oder ist es nur Textmate, in das Sie ihn nicht ändern können?
Jack sagt, versuchen Sie es mit topanswers.xyz

Antworten:

11

Im Gegensatz zu meinem obigen Kommentar (der das Ergebnis unzureichender Tests war) sollten Sie eine Zeile in .bashrc(oder eine ähnliche Stelle) setzen:

export PSQL_EDITOR="/Users/username/bin/mate"

In psqlPostgreSQL 9.2 gibt es einen \setenvBefehl, von dem aus es auch funktionieren soll .psqlrc.

(Dank an Pedro Romano .)

dezso
quelle
Dies funktionierte für mich unter Debian 7 mit Postgres 9.3.
RichVel
Übrigens \setenverwartet a nicht =, es muss so geschrieben werden:\setenv PSQL_EDITOR "/Users/username/bin/mate"
vasilakisfil
1

Versuchen Sie, es auf einen beliebigen Wert einzustellen, um die Anwendung über die Shell auszuführen. Wenn dies nicht funktioniert, führen Sie den Editor zur Fehlerbehebung über die Shell aus.

Chris Travers
quelle
0

Wenn Sie den Editor psql zum ersten Mal verwenden, werden Sie aufgefordert, eine davon auszuwählen.

# \e
usage: which [-as] program ...
usage: which [-as] program ...
usage: which [-as] program ...

Select an editor.  To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano        <---- easiest
  3. /usr/bin/code
  4. /usr/bin/vim.tiny

Choose 1-4 [2]: 

Der gewählte Editor wird bei aufgezeichnet $HOME/.selected_editor. Wenn Sie die einfachste auswählen, ist diese Datei leer. Wenn Sie jedoch eine andere Option auswählen, ist dies der Inhalt:

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.tiny"

Bearbeiten Sie diese Datei und Sie müssen keine Umgebungsvariable festlegen.

Eduardo
quelle