Pytanie Jak wyjść z narzędzia wiersza poleceń PostgreSQL: psql


Jakie polecenie lub krótki klucz mogę użyć, aby opuścić narzędzie wiersza poleceń PostgreSQL psql?


1556
2018-02-27 10:17


pochodzenie


@a_horse_with_no_name: Nie jestem zszokowany tym pytaniem, ale liczbą upvotes :) Porównaj np. do Jak wyjść z edytora Vi jednym naciśnięciem klawisza? - user272735
Czasami potrzebujemy szybkiej i bezpośredniej odpowiedzi, niż przeszukiwanie jej w podręczniku, aby skupić się na prawdziwym problemie. W takich przypadkach te krótkie pytania są naprawdę pomocne. - App Work
Prawdziwe pytanie nie jest "są ludzie zdolni do czytania podręcznika", ale "czy oprogramowanie dla przedsiębiorstw powinno reagować na standardowe sekwencje wyjścia" jak, nie wiem, "wyjść"? Konieczność przeczytania instrukcji, aby zakończyć, wydaje się być poważnie sprzeczna z intuicją. - Kheldar
@Kheldar Rzeczywiście, to po prostu zły interfejs użytkownika (w połączeniu z arogancją). Ludzie są niepewni co do dziwnych rzeczy. - Iain Collins
co ważniejsze, ten wpis jest teraz pierwszym hitem, gdy google "exit psql" - Angel S. Moreno


Odpowiedzi:


Rodzaj \q a następnie naciśnij ENTER do wyjścia psql.


2241
2018-02-27 10:21



To nie zadziała, jeśli jesteś w trybie pojedynczego użytkownika (--single). Zamiast tego użyj Odpowiedź Kaarela (Ctrl-D). Poza tym, że zawsze działa w pgsql, będzie działał w większości twoich innych powłok uniksowych (python, mysql itp.). Jeśli zawsze robisz rzeczy w "standardowy" sposób w "nix, twój mózg będzie mniej zagracony z drobiazgami. - hobs
Właściwie to wpisałem, ale wydaje mi się, że na moim komputerze zaczęło dawać mi dane wyjściowe dopiero po podłączeniu do bazy danych. - mkorpela
Rodzaj \? o pomoc, jeśli tylko "pomoc" nie pomaga. Jest to lśniący przykład tego, jak nie tworzyć interakcji z komputerem. Kto pomyślał o tej wspaniałej idei \? o pomoc i \ q zakończyć? - Jaywalker
Ctrl-d również pomaga - YOung


Moja zwykła sekwencja klawiszy to:

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

Myślę, że weterani linii poleceń psql zwykle skracają to do:

\q

613
2018-04-17 00:31



Próbowałem ctrl-z, sam. Wykonało to zadanie mniej więcej, ale nie byłem do końca usatysfakcjonowany. :( - mjwach
cntrl + D, aby wyjść z dowolnego miejsca - vidur punj
To powinna być zaakceptowana odpowiedź :) - coolboyjules
@mjwach ctrl + z po prostu zawiesza proces w tle, prawie na pewno nie to, co chcesz. - LucidObscurity


Ctrl+re jest tym, czego zwykle używam do opuszczania konsoli psql.


255
2017-08-24 09:26



Działa to na prawie wszystkich monitach, ludziach! - dbkaplun
Tak. Działa to również w bash, sh, ssh, zsh, irb, pry, python, sudo su, node i więcej. To jest  standardowy sposób na wyjście z jakiejkolwiek powłoki. - Ajedi32
Nie tylko skorupa. Każdy rozsądnie rozsądny program, który czyta ze standardowego wejścia i interpretuje pusty ciąg jako EOF, akceptuje ^ D. - Kevin
To nie działa dla mnie, prawdopodobnie dlatego, że używam układu klawiatury Dvoraka na OSX. Ani cmd-D ani cmd-E (gdzie D jest na Qwerty) działa. - NessBird
@NessBird Ctrl to nie to samo, co Cmd. Wypróbuj Control-D zamiast Command-D. - Tilman Schmidt


W przypadku Linuksa - wiersz poleceń \ q + wchodzić. 

Quiting z Ctrl + re to także działa


12
2017-10-21 09:34





Próbować:

  • Ctrl+Z - to wysyła TSTP sygnał (TSTP jest skrótem od "terminal stop")
  • Ctrl+\ - to wysyła QUIT sygnał

Dla ciekawości:

  • Ctrl+re - to wysyła EOF postać. EOF oznacza "koniec pliku". W tym konkretnym przypadku wychodzi z podprogramu psql, gdy powłoka czeka na wprowadzenie danych przez użytkownika. To nie powinno być "droga do wyjścia", ponieważ nie działa, jeśli:
    • jakakolwiek inna postać jest wprowadzana wcześniej - spróbuj wprowadzić trochę spacji, a następnie naciśnij Ctrl+re, nie wyjdzie z psql.
    • jeśli dane wprowadzane przez użytkownika nie są w ogóle wymagane

12
2017-11-07 20:49



Nie ma potrzeby "próbować" niczego. Odpowiednia komenda do czystego wyjścia psql jest dobrze udokumentowane i jest \q - a_horse_with_no_name
Tak jak @hobs jasno mówi o \q: "To nie zadziała, jeśli jesteś w trybie pojedynczego użytkownika (- only). Zamiast tego użyj odpowiedzi Kaarela (CtrlD). "IMHO za pomocą CtrlD nie jest to również droga, a ja wytłumaczyłem dlaczego powyżej i zaproponowałem alternatywę. - iusting
Dziękuję Ci! Ctrl+Z było jedynym poleceniem, które działało dla mnie - byłem podłączony do bazy danych przez tunel, który utracił połączenie - ani \q ani Ctrl+D pracował, ale mogłem Ctrl+Z a następnie zabić zawieszony proces - Sergey


Oparte na PostgreSQL 11 Beta 1 wydany!:

Usprawnienia w obsłudze użytkowników

Inną cechą, która należała do tej kategorii, była niemożność intuicyjnego zakończenia pracy z wiersza poleceń PostgreSQL (psql). Było wiele zarejestrowanych skarg użytkowników próbujących rzucić palenie porzucić i wyjście komendy, aby dowiedzieć się, jakie było polecenie \ q.

Usłyszeliśmy twoje frustracje i dodaliśmy możliwość zamknięcia linii poleceń za pomocą słów kluczowych porzucić i wyjście i mam nadzieję, że zakończenie sesji PostgreSQL jest teraz tak przyjemne, jak używanie PostgreSQL.


4
2018-05-24 15:48



złe nawyki, złe nawyki na całym świecie - easl
@Randomware Czy mógłbyś rozwinąć? - Lukasz Szozda
tak, mam na myśli, że backslash był zadowalający i spójny z innymi wewnętrznymi komendami pgsql bez półkodu, i można by zrobić \? lub \h kontynuować naukę "wszystkiego innego" imho - easl
"Nie było wielu zarejestrowanych skarg" -> "backslash był zadowalający"? Heh. - Steve Bennett


Dowiedziałem się, że mogę dołączyć \ q do pliku wsadowego .sql, więc mógłbym zrezygnować z psql wcześniej z operacji \ i.


3
2018-06-23 00:13





W oknie konsoli PSql:
 
Spróbuj po prostu Ctrl + C

Wykona \ q, który opuści tryb konsoli.


0
2017-07-26 12:04