Как выйти из утилиты командной строки PostgreSQL: psql

avatar
App Work
27 февраля 2012 в 10:17
687470
8
1896

Какую команду или короткую клавишу можно использовать для выхода из утилиты командной строки PostgreSQL psql?

Источник
user272735
25 июля 2012 в 16:04
5

@a_horse_with_no_name: Меня не шокирует вопрос, а количество голосов за :) Сравните, например, на Как выйти из редактора Vi одним нажатием клавиши?

App Work
16 ноября 2012 в 11:35
177

Иногда нам нужен быстрый и прямой ответ, чем искать его в руководстве, чтобы сосредоточиться на реальной проблеме. В таких случаях эти короткие вопросы действительно полезны.

Kheldar
20 февраля 2014 в 14:39
183

Настоящий вопрос не в «способны ли люди читать руководство» , а в «должно ли корпоративное программное обеспечение реагировать на стандартные последовательности выхода» типа, я не знаю, «выход»? Необходимость прочитать руководство, чтобы бросить курить, кажется очень нелогичной.

Iain Collins
10 марта 2014 в 20:46
23

@Kheldar Действительно, это просто плохой дизайн пользовательского интерфейса (вкупе с высокомерием). Люди не уверены в странных вещах.

Angel S. Moreno
2 сентября 2014 в 04:42
49

Что еще более важно, этот пост стал первым, когда я гуглил "exit psql"

Sliq
9 марта 2016 в 14:46
3

Отличный пример ужасного юзабилити (в остальном отличный продукт)! Вот почему разработка иногда так разочаровывает ...

Mike Emery
14 июня 2016 в 14:24
2

Спасибо за это. Пробовал выйти, выйти, пока ... затем \ выйти \ выйти. В конце концов \ h за помощью, но \? было то, что я должен был использовать ...

Erwin Brandstetter
30 октября 2016 в 03:06
0

@MartijnPieters: Я думаю, что \? - разумный ответ на этот ленивый вопрос и подобные. Научите человека ловить рыбу и т. Д. И это тот, который вы удалили.

Zbyszek
14 февраля 2017 в 12:16
1

Другие неленивые ответы на ленивые вопросы: - «Можно мне ваш номер?» - «Да, конечно, поищи в телефонной книге». ;) Знаю, лучше удочку отдать, чем рыбу. Но я думаю, что это не всегда так - не тогда, когда кому-то нужна рыба очень быстро или / и он веган и нуждается в рыбе только один раз для дяди Тома, который навещает его раз в год. Лучшим ответом, вероятно, было бы дать и то, и другое. Итак, после прочтения можно было бы знать, как выйти из psql, и узнать, как проверить, как выйти (или найти другие команды), если он / она чудесным образом не знает этого уже (не читал информацию на экране?).

NessBird
7 августа 2017 в 15:40
2

Обычно я выхожу из psql в отчаянии, потому что не могу понять, как заставить его делать что-нибудь. Причина в том, что я не понимал, что вы должны добавить; до конца операторов SQL в psql, или они считаются неполными и не выполняются.

mbomb007
7 апреля 2020 в 17:08
0

@NessBird Практически любая оболочка SQL требует точки с запятой в конце операторов, даже для MSSQL и других вариантов, для которых они обычно не требуются.

java_newbie
22 апреля 2020 в 10:59
0

потратил 2 минуты на поиски команды "exit" в документации. потратил 10 секунд, чтобы гуглить ответ на coderhelper.com

Ответы (8)

avatar
Frankline
27 февраля 2012 в 10:21
2630

Введите \q и затем нажмите ENTER, чтобы выйти из psql.

ОБНОВЛЕНИЕ: 19 октября 2018 г.

Начиная с PostgreSQL 11 , ключевые слова «quit» и «exit» в интерфейс командной строки PostgreSQL были включены, чтобы упростить выход из инструмента командной строки.

hobs
7 ноября 2013 в 22:10
31

Это не сработает, если вы находитесь в однопользовательском бэкэнд-режиме (--single). Вместо этого используйте ответ Каарел (Ctrl-D). Помимо постоянной работы в pgsql, он будет работать в большинстве других ваших оболочек unix (python, mysql и т. Д.). Если вы всегда будете делать что-то «стандартным» способом, ваш мозг будет меньше загроможден мелочами.

mkorpela
30 декабря 2017 в 10:48
0

Я на самом деле набрал это ... но кажется, что на моей машине он начал выдавать какие-то данные только после того, как фактически подключился к базе данных.

Jaywalker
1 февраля 2018 в 11:37
2

Тип \? за помощью, если просто «помощь» не помогает. Это блестящий пример того, как не создавать взаимодействия человека с компьютером. Кто придумал эту прекрасную идею \? за помощью и \ q бросить?

YOung
26 июля 2018 в 02:55
1

Ctrl-d тоже помогает

aorth
19 октября 2018 в 08:23
1

Начиная с PostgreSQL 11, теперь вы можете набирать «quit» или «exit».

Lukasz Szozda
20 октября 2018 в 10:11
1

@aorth Да, объявили несколько месяцев назад: coderhelper.com/a/50513432/5070879

avatar
VinoCoder
23 января 2020 в 11:08
8

На самом деле, \q, exit и CTRL + D не помогли мне выйти из программы psql .

Ctrl + Shift + D

У меня работал. Надеюсь, это кому-то поможет :)

Моя версия ubuntu: 19.04

avatar
Lukasz Szozda
24 мая 2018 в 15:48
22

quit или exit или \q

На основе PostgreSQL 11 Beta 1 Released!:

Улучшения взаимодействия с пользователем

Еще одной особенностью, попавшей в эту категорию, была невозможность интуитивно завершить работу из командной строки PostgreSQL (psql). Было зарегистрировано множество жалоб пользователей, пытающихся выйти с помощью команд quit и exit , только чтобы узнать, что это была команда \ q.

Мы услышали ваше разочарование и теперь добавили возможность выхода из командной строки с помощью ключевых слов quit и exit и надеемся, что выход из сеанса PostgreSQL теперь будет таким же приятным, как и с использованием PostgreSQL.

user4104817
29 мая 2018 в 17:47
2

вредные привычки, вредные привычки везде

Lukasz Szozda
29 мая 2018 в 18:00
1

@randomware Не могли бы вы уточнить?

user4104817
29 мая 2018 в 19:27
1

да, я имею в виду, что обратная косая черта была удовлетворительной и согласовывалась с другими внутренними командами pgsql без точки с запятой, и можно было бы сделать \? или \h, чтобы продолжить изучение `` всего остального '' imho

Steve Bennett
20 июня 2018 в 03:16
6

«Было зарегистрировано множество жалоб» -> «обратная косая черта была удовлетворительной»? Хех.

avatar
iusting
7 ноября 2016 в 20:49
33

Использование:

  • Ctrl + Z - отправляет сигнал TSTP (TSTP сокращенно от «конечной остановки»)
  • Ctrl + \ - отправляет сигнал QUIT

Для любопытства:

  • Ctrl + D - отправляет символ EOF. EOF означает «конец файла». В этом конкретном случае он выходит из подпрограммы psql, поскольку оболочка ожидает ввода пользователя. Это не должно быть подходящим вариантом, поскольку он не работает, если:
  • перед вводом любого другого символа - попробуйте ввести несколько пробелов и затем нажмите Ctrl + D , он не выйдет из psql.
  • если пользовательский ввод вообще не требуется
a_horse_with_no_name
7 ноября 2016 в 20:52
4

Не нужно ничего «пробовать». Правильная команда для чистого выхода psql - это , хорошо документированная и \q

iusting
8 ноября 2016 в 07:29
3

Поскольку @hobs ясно заявляет о \q: «Это не сработает, если вы находитесь в однопользовательском бэкэнд-режиме (--single). Вместо этого используйте ответ Каарел (CtrlD)». ИМХО, использование CtrlD тоже не подходит, и я объяснил, почему выше, и предложил альтернативу.

Sergey
5 апреля 2018 в 23:02
2

Спасибо! Ctrl+Z была единственной командой, которая сработала для меня - я был подключен к базе данных через туннель, который потерял соединение - ни \q, ни Ctrl+D не работали, но я мог Ctrl+Z и затем убить приостановленный процесс

Gathide
1 июня 2021 в 03:41
0

Вы можете заменить слово «попробовать» словом «использовать» в верхней части этого ответа. Это вызывает чувство «не уверен», но это прямой и рабочий ответ на вопрос.

avatar
Maurice Elagu
21 октября 2015 в 09:34
10

Для командной строки Linux: \ q + введите.

Выход с помощью Ctrl + D также работает

faintsignal
27 ноября 2018 в 16:01
4

Это просто повторяет ответы Франклина и Карела.

avatar
sflitman
23 июня 2014 в 00:13
8

Я узнал, что могу включить \ q в пакетный файл .sql, чтобы psql мог выйти раньше из операции \ i.

avatar
Ted
17 апреля 2014 в 00:31
767

Моя обычная последовательность клавиш:

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

Я думаю, ветераны командной строки psql обычно сокращают это до просто:

\q
mjwach
26 июля 2015 в 19:03
4

Я сам пробовал Ctrl-Z. Работа была выполнена более или менее, но я не был полностью удовлетворен. :(

vidur punj
22 января 2018 в 14:41
16

ctrl + D для выхода из любого места

LucidObscurity
6 июля 2018 в 05:31
1

@mjwach ctrl + z просто приостанавливает процесс в фоновом режиме, почти наверняка не то, что вы хотите.

Dzmitry Prakapenka
21 декабря 2018 в 11:37
0

postgres = # / q postgres- # \ q

Sergio A.
21 августа 2019 в 12:24
3

Посмеялся над твоим ответом. Мозг раздавлен из-за различных инструментов, которые мы используем.

Rich Lysakowski PhD
6 декабря 2019 в 04:39
0

Да, спасибо за юмор. Мой был google.com, затем нажмите ссылку coderhelper.com/questions/9463318/…

java_newbie
22 апреля 2020 в 11:00
0

Я бы хотел, чтобы на все вопросы по SO был один ответ, подобный этому.

Alan
21 апреля 2021 в 05:11
1

Я думаю, вы пропустили: q

avatar
Kaarel
24 августа 2012 в 09:26
307

Ctrl + D - это то, что я обычно использую для выхода из консоли psql.

Ajedi32
10 июля 2015 в 19:46
4

Ага. Это также работает в bash, sh, ssh, zsh, irb, pry, python, sudo su, node и других. Это стандартный способ выхода из оболочки любого типа.

Kevin
20 августа 2015 в 20:37
5

Не просто оболочка. Любая разумно нормальная программа, которая читает из stdin и интерпретирует пустую строку как EOF, примет ^ D.

NessBird
7 августа 2017 в 15:43
0

У меня это не работает, вероятно, потому, что я использую раскладку клавиатуры Дворжака в OSX. Ни cmd-D, ни cmd-E (где D находится на Qwerty) не работают.

Tilman Schmidt
31 октября 2017 в 14:06
4

@NessBird Ctrl - это не то же самое, что Cmd. Попробуйте Control-D вместо Command-D.

Jack
6 мая 2021 в 12:12
0

@Kevin, вам не нужно интерпретировать пустую строку как EOF .. по умолчанию отправка ctrl + D заставит вас фактически получить EOF от fgetc () (int = -1), и он закроет поток файла stdin: любой последующий вызов f * read * () вернет ошибку, а feof (stdin) вернет 1. Так что распознать это еще проще :)