วิธีการออกจากโปรแกรมอรรถประโยชน์บรรทัดคำสั่งของ PostgreSQL: psql


1820

คำสั่งอะไรหรือคีย์สั้นฉันสามารถใช้เพื่อออกจากอรรถประโยชน์บรรทัดคำสั่ง PostgreSQL psql?


4
@a_horse_with_no_name: ฉันไม่ได้ตกใจกับคำถาม แต่จำนวน upvotes :) เปรียบเทียบเช่นคุณจะออกจากโปรแกรมแก้ไข Vi ด้วยปุ่มกดเดียวได้อย่างไร
272735

174
บางครั้งเราต้องการคำตอบที่รวดเร็วและตรงไปตรงกว่าการค้นหาในคู่มือเพื่อมุ่งเน้นไปที่ปัญหาจริงในกรณีเช่นนี้คำถามสั้น ๆ เหล่านี้มีประโยชน์จริง ๆ
แอปทำงาน

175
คำถามจริงไม่ใช่"เป็นคนที่สามารถอ่านคู่มือ"แต่"ซอฟต์แวร์ขององค์กรควรตอบสนองต่อลำดับทางออกมาตรฐาน"เช่นฉันไม่รู้ "ทางออก" หรือไม่ การอ่านคู่มือเพื่อออกดูเหมือนว่าจะตอบโต้อย่างจริงจัง
Kheldar

23
@ Keldar แท้จริงแล้วมันเป็นเพียงการออกแบบส่วนต่อประสานผู้ใช้ที่ไม่ดี (ควบคู่กับความเย่อหยิ่ง) ผู้คนไม่มั่นใจเกี่ยวกับสิ่งแปลก ๆ
เลนคอลลินส์

49
ที่สำคัญกว่าตอนนี้โพสต์นี้กลายเป็น Hit ครั้งแรกเมื่อฉัน google "exit psql"
Angel S. Moreno

คำตอบ:


2539

พิมพ์\qและกดที่จะเลิกENTERpsql

อัปเดต: 19-OCT-2018

ตั้งแต่PostgreSQL 11คีย์เวิร์ด " quit" และ " exit" ในส่วนติดต่อบรรทัดคำสั่งของ PostgreSQL ได้ถูกรวมไว้เพื่อช่วยให้ง่ายต่อการออกจากเครื่องมือบรรทัดคำสั่ง


28
สิ่งนี้จะไม่ทำงานหากคุณอยู่ในโหมดแบ็กเอนด์ผู้ใช้คนเดียว ( --single) ใช้คำตอบของ Kaarelแทน( Ctrl-D) นอกจากจะทำงานใน pgsql เสมอมันจะทำงานในเชลล์ยูนิกซ์ส่วนใหญ่ของคุณ (python, mysql, ฯลฯ ) หากคุณทำสิ่งต่าง ๆ ด้วยวิธี "มาตรฐาน" ใน 'ระวังสมองของคุณจะยุ่งเหยิงน้อยลงด้วยเรื่องไม่สำคัญ
เตาแก๊ส

1
พิมพ์ \? เพื่อขอความช่วยเหลือหากเพียงแค่ "ช่วย" ไม่ได้ช่วย นี่เป็นตัวอย่างที่แพรวของวิธีที่จะไม่สร้างปฏิสัมพันธ์ระหว่างคอมพิวเตอร์กับมนุษย์ ใครคิดว่าความคิดที่ยอดเยี่ยมของ \ เพื่อขอความช่วยเหลือและ \ q เพื่อเลิก?
Jaywalker

1
Ctrl-d ยังช่วย
YOUNG


1
@aorth ใช่พวกเขาประกาศเมื่อไม่กี่เดือนที่ผ่านมา: stackoverflow.com/a/50513432/5070879
Lukasz Szozda

747

ลำดับคีย์ปกติของฉันคือ:

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

ฉันคิดว่าทหารผ่านศึกของบรรทัดคำสั่ง psql มักย่อให้เหลือเพียง:

\q

3
ฉันลอง ctrl-z ด้วยตัวเอง มันทำงานเสร็จไม่มากก็น้อย แต่ฉันก็ไม่พอใจอย่างสิ้นเชิง :(
mjwach

12
cntrl + D เพื่อออกจากที่ใด
vidur punj

1
@mjwach ctrl + z เพียงระงับกระบวนการไปยังพื้นหลังเกือบจะแน่นอนไม่ใช่สิ่งที่คุณต้องการ
LucidObscurity

postgres = # / q postgres- # \ q
Dzmitry Prakapenka

2
หัวเราะด้วยคำตอบของคุณ Brainsmashed เนื่องจากเครื่องมือต่าง ๆ ที่เราใช้
Sergio A.

299

Ctrl+ Dเป็นสิ่งที่ฉันมักจะใช้เพื่อออกจากคอนโซล psql


3
อ๋อ สิ่งนี้ยังทำงานใน bash, sh, ssh, zsh, irb, pry, python, sudo su, โหนดและอีกมากมาย มันเป็นวิธีมาตรฐานในการออกจากเปลือกใด ๆ
Ajedi32

5
ไม่ใช่แค่เปลือกหอย โปรแกรมใด ๆ ที่มีเหตุผลซึ่งอ่านจาก stdin และตีความสตริงว่างเปล่าเนื่องจาก EOF จะยอมรับ ^ D
เควิน

สิ่งนี้ไม่ได้ผลสำหรับฉันอาจเป็นเพราะฉันใช้เค้าโครงแป้นพิมพ์ Dvorak บน OSX ทั้ง cmd-D และ cmd-E (โดยที่ D อยู่บน Qwerty)
NessBird

4
@NessBird Ctrl ไม่เหมือนกับ Cmd ลอง Control-D แทน Command-D
Tilman Schmidt

27

ลอง:

  • Ctrl+ Z- สิ่งนี้จะส่งTSTPสัญญาณ ( TSTPสั้นสำหรับ“ เทอร์มินัลสต็อป”)
  • Ctrl+ \- สิ่งนี้ส่งQUITสัญญาณ

สำหรับความอยากรู้:

  • Ctrl+ D- นี่จะส่งEOFตัวอักษร EOFหมายถึง "end of file" ในกรณีที่เป็นรูปธรรมนี้มันออกจากโปรแกรมย่อย psql เนื่องจากเชลล์กำลังรออินพุตของผู้ใช้ สิ่งนี้ไม่ควรเป็น 'วิธีการไป' เพราะมันไม่ทำงานหาก
    • อักขระอื่นใดที่ถูกป้อนก่อน - ลองป้อนช่องว่างสีขาวแล้วกดCtrl+ Dมันจะไม่ออกจาก psql
    • หากไม่จำเป็นต้องป้อนข้อมูลผู้ใช้

4
ไม่จำเป็นต้อง "ลอง" อะไร คำสั่งที่เหมาะสมในการออกจากระบบอย่างสมบูรณ์psqlนั้นได้รับการบันทึกไว้เป็นอย่างดีและเป็น\q
a_horse_with_no_name

2
ดังที่@hobsระบุไว้อย่างชัดเจนเกี่ยวกับ\q: "สิ่งนี้จะไม่ทำงานหากคุณอยู่ในโหมดแบ็กเอนด์ผู้ใช้คนเดียว (- เดี่ยว) แทนที่จะใช้คำตอบของ Kaarel ( CtrlD)" IMHO ที่ใช้CtrlDไม่ใช่วิธีการที่จะไปเช่นกันและฉันอธิบายว่าทำไมข้างต้นและเสนอทางเลือกอื่น
iusting

1
ขอบคุณ! Ctrl+Zเป็นคำสั่งเดียวที่ทำงานสำหรับฉัน - ฉันได้รับการเชื่อมต่อกับฐานข้อมูลผ่านทางอุโมงค์ซึ่งสูญเสียการเชื่อมต่อ - ค่า\qมิได้Ctrl+Dทำงาน แต่ฉันสามารถCtrl+Zแล้วฆ่ากระบวนการระงับ
Sergey

20

quitหรือexitหรือ\q

อ้างอิงPostgreSQL 11 Beta 1 แล้ว! :

การปรับปรุงประสบการณ์ผู้ใช้

คุณสมบัติอื่นที่อยู่ในหมวดหมู่นี้คือการไม่สามารถออกจากคำสั่ง PostgreSQL ได้โดยง่าย (psql) มีการร้องเรียนจำนวนมากที่บันทึกไว้ของผู้ใช้ที่พยายามจะเลิกด้วยคำสั่งเลิกและออกเท่านั้นที่จะเรียนรู้ว่าคำสั่งที่จะทำคือ\ q

เราได้ยินถึงความผิดหวังของคุณและตอนนี้ได้เพิ่มความสามารถในการออกจากบรรทัดคำสั่งโดยใช้คำหลักเลิกและออกและหวังว่าการเลิกเซสชัน PostgreSQL นั้นสนุกเหมือนการใช้ PostgreSQL


2
นิสัยที่ไม่ดี, นิสัยที่ไม่ดีทุกที่

1
@randomware คุณช่วยอธิบายได้ไหม?
Lukasz Szozda

1
ใช่ฉันหมายถึงแบ็กสแลชเป็นที่พอใจและสอดคล้องกับคำสั่ง pgsql ภายในเซมิโคลอนอื่น ๆ และหนึ่งจะทำ\?หรือ\hเพื่อเรียนรู้ต่อไป 'ทุกอย่างอื่น' imho

6
"มีการร้องเรียนจำนวนมากที่บันทึกไว้" -> "แบ็กสแลชเป็นที่น่าพอใจ"? หึ
Steve Bennett

10

สำหรับบรรทัดคำสั่งลินุกซ์\ Q + ใส่

การอ้างอิงด้วยCtrl + Dก็ใช้งานได้เช่นกัน


4
เพียงแค่นี้ก็ย้ำคำตอบจากFranklineและKaarel
faintsignal

8

ฉันได้เรียนรู้ว่าฉันสามารถรวม \ q ในไฟล์. sql แบบแบตช์ดังนั้นฉันจึงสามารถเลิกใช้ psql ก่อนหน้านี้จากการดำเนินการ \ i


4

อันที่จริง\q, exitและCTRL + Ddid'nt ทำงานให้ฉันเพื่อออกจากpsqlโปรแกรม

Ctrl + Shift + D

ทำงานให้ฉัน หวังว่ามันจะช่วยให้ใครบางคน :)

รุ่นอูบุนตูของฉันคือ19.04


0

พูดเฉพาะวิธีการออกจากสถานะต่อไปนี้บน Ubuntu 18.04

ฉันใส่สถานะเดิมดังนี้

postgres@user:~$

หากมีการป้อนค่า psql จะเปลี่ยนเป็นสถานะใหม่ดังนี้

postgres@user:~$ psql

postgres=# 

หากป้อน \ q โปรดดูการดำเนินการ

postgres@user:~$ \q

มันเปลี่ยนเป็นสถานะเดิมดังนี้

postgres@user:~$

วิธีที่รวดเร็วคือการฆ่า terminal แต่ฉันต้องการทราบวิธีการเลิกอย่างอื่นโดยไม่ฆ่า terminal

ขอบคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.