PostgreSQLコマンドラインユーティリティを終了する方法:psql


1821

PostgreSQLコマンドラインユーティリティを終了するには、どのコマンドまたは短いキーを使用できますpsqlか?


4
@a_horse_with_no_name:私は質問にショックを受けていませんが、賛成票の数です:)たとえば、1回のキープレスでViエディター
user272735 2012

174
本当の問題に焦点を当てるためにマニュアルで検索するよりも迅速で簡単な答えが必要な場合があります。このような場合、これらの短い質問は非常に役立ちます。
App Work、

175
本当の質問は、「マニュアルを読むことができるのか」ではなく、「エンタープライズソフトウェアが標準の終了シーケンスに応答する必要があるのか」、「わからない」「終了」のようなものです。マニュアルを読んで終了することは、直感に反しているようです。
Kheldar

23
@Kheldar確かに、それは(傲慢さと相まって)ユーザーインターフェイスのデザインが悪いだけです。人々は奇妙なことに不安を感じています。
Iain Collins

49
さらに重要なことに、この投稿は、Googleで「exit psql」を実行したときの最初のヒットになりました
Angel S. Moreno

回答:


2541

入力\qしてを押しENTERて終了しpsqlます。

更新:2018年10月19日

のとしてPostgreSQLの11、キーワード「quit」と「exit」PostgreSQLのコマンドラインインターフェイスのヘルプに含まれているが、それが簡単にコマンドラインツールを残すようにします。


28
シングルユーザーバックエンドモード(--single)の場合、これは機能しません。代わりに、Kaarelの回答を使用してくださいCtrl-D)。常にpgsqlで動作することに加えて、他のほとんどのUNIXシェル(python、mysqlなど)でも動作します。'nixの「標準的な」方法で常に物事を行う場合、あなたの脳は雑学で雑然とします。
ホブ、2013年

1
「\?」と入力します。「ヘルプ」が役に立たない場合のヘルプ。これは、人間とコンピュータの相互作用を作成しない方法の輝かしい例です。\のこの素晴らしいアイデアを誰が思いましたか?ヘルプと\ qを終了するには?
ジェイウォーカー

1
Ctrl-dも役立つ
YOung


1
@aorthはい、彼らは数か月前にそれを発表しました:stackoverflow.com/a/50513432/5070879
Lukasz Szozda '20 / 10/20

747

私の通常のキーシーケンスは次のとおりです。

quit()
quit
exit()
exit
q
q()
!q
^C
help
Alt + Tab
google.com
Quit PSQL
\q

私は通常、psqlコマンドラインのベテランはそれを次のように短くします:

\q

3
自分でctrl-zを試してみました。それは多かれ少なかれ仕事を成し遂げました、しかし私は完全に満足していませんでした。:(
mjwach 2015

12
cntrl + Dで任意の場所を終了
vidur punj 2018年

1
@mjwach ctrl + zは、プロセスをバックグラウンドに一時停止するだけであり、ほとんどの場合、望みどおりにはなりません。
LucidObscurity

postgres =#/ q postgres
Dzmitry Prakapenka 2018

2
あなたの答えで笑いました。私たちが使用するさまざまなツールが原因で頭がおかしくなりました。
セルジオA.

299

Ctrl+ Dは通常、psqlコンソールを終了するために使用します。


3
うん。これは、bash、sh、ssh、zsh、irb、pry、python、sudo su、nodeなどでも機能します。これはあらゆる種類のシェルを終了する標準的な方法です。
Ajedi32 2015

5
シェルだけではありません。stdinから読み取り、空の文字列をEOFとして解釈する合理的に健全なプログラムは、^ Dを受け入れます。
ケビン

OSXでDvorakキーボードレイアウトを使用しているためか、これは機能しません。cmd-Dもcmd-E(DはQwertyにある)も機能しません。
NessBird 2017

4
@NessBird CtrlはCmdと同じではありません。Command-Dの代わりにControl-Dを試してください。
Tilman Schmidt

27

試してください:

  • Ctrl+ Z-これはTSTP信号を送信します(TSTP「ターミナルストップ」の略)
  • Ctrl+ \-これはQUITシグナルを送信します

好奇心のために:

  • Ctrl+ D-これはEOFキャラクターを送信します。EOF「ファイルの終わり」を表します。この具体的なケースでは、シェルがユーザー入力を待機しているため、psqlサブプログラムを終了します。次の場合は機能しないため、これは「進むべき道」ではありません。
    • 他の文字が前に入力されている-いくつかの空白を入力してからCtrl+ を押すと、Dpsqlが終了しません。
    • ユーザー入力がまったく必要ない場合

4
何も「試す」必要はありません。正常に終了するための適切なコマンドpsql十分に文書化されており、\q
a_horse_with_no_name 2016年

2
以下のよう@hobsはっきりについて述べている\q:「これは動作しません。あなたは、単一のユーザーバックエンドモード(--single)である場合、代わりに(Kaarelの答えを使用しています。CtrlD)」。私見の使用CtrlDは行く方法でもありません、そして私は上で理由を説明して、そして代わりを提供しました。
16年

1
ありがとうございました!Ctrl+Z私のために動作した唯一のコマンドでした-接続を失ったトンネルを介してデータベースに接続しました-どちら\qも動作しませんでしたCtrl+DCtrl+Z、一時停止したプロセスを停止できました
Sergey

20

quitまたはexitまたは\q

リリースされたPostgreSQL 11 Beta 1に基づいています!

ユーザーエクスペリエンスの強化

このカテゴリに分類されるもう1つの機能は、PostgreSQLコマンドライン(psql)を直感的に終了できないことです。quitコマンドとexitコマンドを使用して終了しようとするユーザーの苦情が数多く記録されていますが、そのためのコマンドは\ qであることがわかりました。

お客様の不満を聞いて、キーワードquitexitを使用してコマンドラインを終了する機能を追加しました。PostgreSQLセッションの終了がPostgreSQLを使用するのと同じくらい楽しくなることを願っています。


2
悪い習慣、どこでも悪い習慣

1
@randomware詳しく説明してもらえますか?
Lukasz Szozda、2018年

1
はい、私の平均バックスラッシュは、満足して他の内部semicolonless pgsqlのコマンドと一致していた、もう一つはどうなる\?か、\h「他のすべて」私見を学び続けるために

6
「数多くの苦情が記録されています」->「バックスラッシュは満足のいくものでした」?へえ。
スティーブベネット


8

\ qをバッチ.sqlファイルに含めることができることを知ったので、\ i操作からpsqlを早く終了させることができました。


4

実際には、\qexitCTRL + Ddid'ntから出口まで私のために働いたのpsqlプログラム。

Ctrl + Shift + D

私のために働いた。それが誰かを助けることを願っています:)

私のubuntuバージョンは19.04です


0

具体的には、Ubuntu 18.04で次のステータスを終了する方法です。

元の状態は次のようにしています。

postgres@user:~$

psqlを入力すると、次のように新しいステータスに変わります。

postgres@user:~$ psql

postgres=# 

\ qを入力した場合は、操作をご覧ください。

postgres@user:~$ \q

以下のように元の状態に変わります。

postgres@user:~$

簡単な方法は、ターミナルを強制終了することです。しかし、ターミナルを殺さずに他の終了方法を知りたいです。

おかげで、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.