Cara keluar dari utilitas baris perintah PostgreSQL: psql

1821

Perintah atau kunci pendek apa yang dapat saya gunakan untuk keluar dari utilitas baris perintah PostgreSQL psql?

Aplikasi Kerja
sumber
4
@a_horse_with_no_name: Saya tidak kaget dengan pertanyaan itu, tetapi jumlah upvote :) Bandingkan misal dengan Bagaimana Anda keluar dari editor Vi dengan penekanan tombol tunggal?
user272735
174
Terkadang kita membutuhkan jawaban yang cepat dan langsung daripada mencarinya di manual untuk fokus pada masalah yang sebenarnya. Dalam kasus seperti ini, pertanyaan singkat ini sangat membantu.
Aplikasi Kerja
175
Pertanyaan sebenarnya bukan "apakah orang mampu membaca manual" , tetapi "haruskah perangkat lunak perusahaan merespons urutan keluar standar" seperti, saya tidak tahu, "keluar"? Harus membaca manual untuk berhenti tampaknya serius kontra-intuitif.
Kheldar
23
@Kheldar Memang, itu hanya desain antarmuka pengguna yang buruk (ditambah dengan kesombongan). Orang-orang merasa tidak aman tentang hal-hal aneh.
Iain Collins
49
yang lebih penting, posting ini sekarang menjadi hit pertama ketika saya google "keluar psql"
Angel S. Moreno

Jawaban:

2541

Ketik \qlalu tekan ENTERuntuk keluar psql.

UPDATE: 19-OCT-2018

Pada PostgreSQL 11 , kata kunci " quit" dan " exit" di antarmuka baris perintah PostgreSQL telah dimasukkan untuk membantu mempermudah meninggalkan alat baris perintah.

Frankline
sumber
28
Ini tidak akan berfungsi jika Anda berada dalam mode backend pengguna tunggal ( --single). Alih-alih gunakan jawaban Kaarel ( Ctrl-D). Selain selalu bekerja di pgsql, ia akan bekerja di sebagian besar shell unix Anda yang lain (python, mysql, dll). Jika Anda selalu melakukan hal-hal dengan cara "standar" di 'nix, otak Anda akan menjadi kurang berantakan dengan hal-hal sepele.
hobs
1
Tipe \? untuk bantuan jika hanya "membantu" tidak membantu. Ini adalah contoh cemerlang tentang bagaimana tidak membuat interaksi komputer manusia. Siapa yang memikirkan ide hebat ini? untuk bantuan dan \ q untuk berhenti?
Jaywalker
1
Ctrl-d juga membantu
YOUNG
1
@ ya, mereka mengumumkannya beberapa bulan lalu: stackoverflow.com/a/50513432/5070879
Lukasz Szozda
747

Urutan kunci saya yang biasa adalah:

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

Saya pikir veteran dari baris perintah psql biasanya menyingkat menjadi:

\q
Ted
sumber
3
Saya mencoba ctrl-z, sendiri. Itu menyelesaikan pekerjaan, kurang lebih, tetapi saya tidak sepenuhnya puas. :(
mjwach
12
cntrl + D untuk keluar dari mana saja
vidur punj
1
@ mjwach ctrl + z hanya menunda proses ke latar belakang, hampir pasti bukan yang Anda inginkan.
LucidObscurity
postgres = # / q postgres- # \ q
Dzmitry Prakapenka
2
Tawa dengan jawaban Anda. Terpecah karena semua alat yang kami gunakan.
Sergio A.
299

Ctrl+ Dadalah apa yang biasanya saya gunakan untuk keluar dari konsol psql.

Kaarel
sumber
3
Ya. Ini juga berfungsi di bash, sh, ssh, zsh, irb, pry, python, sudo su, node, dan banyak lagi. Ini adalah yang cara standar untuk keluar shell apapun.
Ajedi32
5
Bukan hanya cangkang. Program waras yang membaca dari stdin dan menginterpretasikan string kosong karena EOF akan menerima ^ D.
Kevin
Ini tidak berfungsi untuk saya, mungkin karena saya menggunakan tata letak keyboard Dvorak di OSX. Tidak ada cmd-D atau cmd-E (di mana D pada Qwerty) bekerja.
NessBird
4
@NessBird Ctrl tidak sama dengan Cmd. Coba Control-D alih-alih Command-D.
Tilman Schmidt
27

Mencoba:

  • Ctrl+ Z- ini mengirimkan TSTPsinyal ( TSTPkependekan dari "terminal stop")
  • Ctrl+ \- ini mengirimkan QUITsinyal

Untuk rasa ingin tahu:

  • Ctrl+ D- ini mengirimkan EOFkarakter.EOFsingkatan dari "end of file". Dalam kasus konkret ini keluar dari subprogram psql, karena shell sedang menunggu input pengguna. Ini seharusnya bukan 'cara untuk pergi' karena tidak berfungsi jika:
    • karakter lain dimasukkan sebelum - coba masukkan beberapa spasi putih dan kemudian tekan Ctrl+ D, itu tidak akan keluar dari psql.
    • jika input pengguna tidak diperlukan sama sekali
baru saja
sumber
4
Tidak perlu "mencoba" apa pun. Perintah yang tepat untuk keluar bersih psqladalah didokumentasikan dengan baik dan\q
a_horse_with_no_name
2
Seperti @hobs dengan jelas menyatakan tentang \q: "Ini tidak akan berfungsi jika Anda berada dalam mode backend pengguna tunggal (--single). Alih-alih gunakan jawaban Kaarel ( CtrlD)". Menggunakan IMHO CtrlDbukan cara yang baik, dan saya menjelaskan mengapa di atas dan menawarkan alternatif.
tepat
1
Terima kasih! Ctrl+Zadalah satu-satunya perintah yang bekerja untuk saya - saya terhubung ke database melalui terowongan yang kehilangan koneksi - tidak \qjuga Ctrl+Dbekerja, tapi saya bisa Ctrl+Zdan kemudian membunuh proses yang ditangguhkan
Sergey
20

quitatau exitatau\q

Berdasarkan PostgreSQL 11 Beta 1 Dirilis! :

Peningkatan Pengalaman Pengguna

Fitur lain yang termasuk dalam kategori ini adalah ketidakmampuan untuk secara intuitif keluar dari baris perintah PostgreSQL (psql). Ada banyak keluhan yang tercatat dari pengguna mencoba untuk berhenti dengan berhenti dan keluar perintah, hanya untuk mengetahui bahwa perintah untuk melakukannya adalah \ q.

Kami telah mendengar frustrasi Anda dan sekarang telah menambahkan kemampuan untuk keluar dari baris perintah menggunakan kata kunci keluar dan keluar dan berharap bahwa berhenti dari sesi PostgreSQL sekarang sama menyenangkannya seperti menggunakan PostgreSQL.

Lukasz Szozda
sumber
2
kebiasaan buruk, kebiasaan buruk di mana
1
@randomware Bisakah Anda menguraikan?
Lukasz Szozda
1
ya, maksud saya backslash memuaskan dan konsisten dengan perintah pgsql tanpa koma internal lainnya, dan orang akan melakukan \?atau \huntuk terus belajar 'segalanya' imho
6
"Ada banyak keluhan yang direkam" -> "backslash memuaskan"? Heh.
Steve Bennett
10

Untuk baris perintah Linux \ q + enter.

Berhenti dengan Ctrl + D juga berhasil

Maurice Elagu
sumber
4
Ini hanya mengulangi jawaban dari Frankline dan Kaarel .
faintsignal
8

Saya belajar bahwa saya dapat memasukkan \ q dalam file batch .sql, jadi saya bisa meminta psql keluar lebih awal dari operasi \ i.

sflitman
sumber
4

Sebenarnya, \q, exitdan CTRL + Ddid'nt bekerja bagi saya untuk keluar dari psql Program.

Ctrl + Shift + D

Bekerja untukku. Semoga ini bisa membantu seseorang :)

Versi ubuntu saya adalah 19,04

VinoCoder
sumber
0

Secara khusus, cara keluar dari status berikut di Ubuntu 18.04.

Saya menempatkan status asli sebagai berikut.

postgres@user:~$

Jika psql dimasukkan, itu berubah ke status baru sebagai berikut.

postgres@user:~$ psql

postgres=# 

Jika \ q dimasukkan, silakan lihat operasi.

postgres@user:~$ \q

Itu berubah ke status asli sebagai berikut.

postgres@user:~$

Cara cepat adalah mematikan terminal. Tapi saya ingin tahu metode berhenti lainnya tanpa mematikan terminal.

Terima kasih,

Mike Chen
sumber