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?


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.


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

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.


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

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.


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


8

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


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


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,

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.