2017-08-15 1 views
1

In bash gibt es eine Einstellung (normalerweise standardmäßig aktiviert), die dafür sorgt, dass alle Befehle, denen ein Leerzeichen vorangestellt ist, nicht in der Verlaufsdatei gespeichert werden.psql: Wie schreibe ich keinen einzelnen Befehl in den Verlauf

Gibt es in psql etwas analoges?

+0

Coole Funktion in bash. Und nein, nicht so weit ich weiß. Ein Patch wird möglicherweise akzeptiert, wenn Sie einen Patch eingereicht haben. Überprüfen Sie jedoch die 'readline' Dokumente, vielleicht gibt es eine Möglichkeit, es mit readline zu tun ... –

+0

@CraigRinger So stocherte ich in der Quelle herum und fand eine Antwort. Es verwendet denselben Variablennamen und dieselben Einstellungen wie die Bash-Version der Funktion. –

Antwort

1

Das ist also möglich.

Fügen Sie \set HISTCONTROL ignorespace zu Ihrer .psqlrc-Datei hinzu.

Wenn Sie einem Befehl ein Leerzeichen voranstellen, z. B. ein Kennwort festlegen, wird es nicht zur Verlaufsdatei hinzugefügt.

Vom manual:

HISTCONTROL

Wenn diese Variable auf ignorespace gesetzt, Linien, die mit einem Leerzeichen beginnen, werden nicht in die Geschichte Liste eingetragen. Bei einem Wert von ignoredups werden Zeilen, die der vorherigen Verlaufszeile entsprechen, nicht eingegeben. Ein Wert von ignoreboth kombiniert die beiden Optionen. Wenn nicht gesetzt oder auf keine (oder ein anderer Wert als die oben genannten) gesetzt ist, werden alle im interaktiven Modus gelesenen Zeilen in der Verlaufsliste gespeichert.

+0

Nice find, danke fürs Nachschlagen. Ich benutze psql seit Jahren und hatte keine Ahnung. –

Verwandte Themen