Gibt es eine Option, die das Verhalten des Schalters psql \ e "Externen Editor beenden -> Abfrage wird automatisch ausgeführt" ändern kann? (Außer absichtlich die Abfragesyntax zu entstellen).
quelle
Gibt es eine Option, die das Verhalten des Schalters psql \ e "Externen Editor beenden -> Abfrage wird automatisch ausgeführt" ändern kann? (Außer absichtlich die Abfragesyntax zu entstellen).
Fügen Sie kein Semikolon ( ;
) hinzu und es geht Ihnen gut. Ich zitiere das Handbuch über die \e
oder \edit
Meta-Befehl hier :
... wenn die Abfrage mit einem Semikolon endet (oder enthält), wird sie sofort ausgeführt. Andernfalls wird lediglich im Abfragepuffer gewartet. Geben Sie ein Semikolon ein oder
\g
senden Sie es oder\r
brechen Sie es ab.
Sie können der Abfrage jederzeit die Postgres-Kommentarzeichenfolge voranstellen:
--select foo from bar;
und die Abfrage wird nicht ausgeführt, steht jedoch im psql-Deadline-Verlaufspuffer zur Bearbeitung zur Verfügung.
Wenn Sie viele Anfragen und einige Semikolons haben, verwenden Sie Transaktion:
Im psql Open Editor-Modus \e
:
-- at start of edited text
BEGIN TRANSACTION;
-- ... your requests here
-- save exit
Zurück zu psql: Ihre Anforderungen werden ausgeführt, aber Änderungen werden nicht geschrieben:
Wenn alles in Ordnung ist, speichern Sie die Änderungen mit:
COMMIT;
sonst Wenn Sie Fehler haben oder abbrechen möchten:
ROLLBACK;