Какую команду или короткую клавишу можно использовать для выхода из утилиты командной строки PostgreSQL psql
?
Как выйти из утилиты командной строки PostgreSQL: psql
Ответы (8)
Введите \q
и затем нажмите ENTER
, чтобы выйти из psql
.
ОБНОВЛЕНИЕ: 19 октября 2018 г.
Начиная с PostgreSQL 11 , ключевые слова «quit
» и «exit
» в интерфейс командной строки PostgreSQL были включены, чтобы упростить выход из инструмента командной строки.
Это не сработает, если вы находитесь в однопользовательском бэкэнд-режиме (--single
). Вместо этого используйте ответ Каарел (Ctrl-D
). Помимо постоянной работы в pgsql, он будет работать в большинстве других ваших оболочек unix (python, mysql и т. Д.). Если вы всегда будете делать что-то «стандартным» способом, ваш мозг будет меньше загроможден мелочами.
Я на самом деле набрал это ... но кажется, что на моей машине он начал выдавать какие-то данные только после того, как фактически подключился к базе данных.
Тип \? за помощью, если просто «помощь» не помогает. Это блестящий пример того, как не создавать взаимодействия человека с компьютером. Кто придумал эту прекрасную идею \? за помощью и \ q бросить?
Ctrl-d тоже помогает
Начиная с PostgreSQL 11, теперь вы можете набирать «quit» или «exit».
@aorth Да, объявили несколько месяцев назад: coderhelper.com/a/50513432/5070879
На самом деле, \q
, exit
и CTRL + D
не помогли мне выйти из программы psql .
Ctrl + Shift + D
У меня работал. Надеюсь, это кому-то поможет :)
Моя версия ubuntu: 19.04
quit
или exit
или \q
На основе PostgreSQL 11 Beta 1 Released!:
Улучшения взаимодействия с пользователем
Еще одной особенностью, попавшей в эту категорию, была невозможность интуитивно завершить работу из командной строки PostgreSQL (psql). Было зарегистрировано множество жалоб пользователей, пытающихся выйти с помощью команд quit и exit , только чтобы узнать, что это была команда \ q.
Мы услышали ваше разочарование и теперь добавили возможность выхода из командной строки с помощью ключевых слов quit и exit и надеемся, что выход из сеанса PostgreSQL теперь будет таким же приятным, как и с использованием PostgreSQL.
вредные привычки, вредные привычки везде
@randomware Не могли бы вы уточнить?
да, я имею в виду, что обратная косая черта была удовлетворительной и согласовывалась с другими внутренними командами pgsql без точки с запятой, и можно было бы сделать \?
или \h
, чтобы продолжить изучение `` всего остального '' imho
«Было зарегистрировано множество жалоб» -> «обратная косая черта была удовлетворительной»? Хех.
Использование:
-
Ctrl + Z - отправляет сигнал
TSTP
(TSTP
сокращенно от «конечной остановки») -
Ctrl + \ - отправляет сигнал
QUIT
Для любопытства:
-
Ctrl + D - отправляет символ
EOF
.EOF
означает «конец файла». В этом конкретном случае он выходит из подпрограммы psql, поскольку оболочка ожидает ввода пользователя. Это не должно быть подходящим вариантом, поскольку он не работает, если: - перед вводом любого другого символа - попробуйте ввести несколько пробелов и затем нажмите Ctrl + D , он не выйдет из psql.
- если пользовательский ввод вообще не требуется
Не нужно ничего «пробовать». Правильная команда для чистого выхода psql
- это , хорошо документированная и \q
Поскольку @hobs ясно заявляет о \q
: «Это не сработает, если вы находитесь в однопользовательском бэкэнд-режиме (--single). Вместо этого используйте ответ Каарел (CtrlD
)». ИМХО, использование CtrlD
тоже не подходит, и я объяснил, почему выше, и предложил альтернативу.
Спасибо! Ctrl+Z
была единственной командой, которая сработала для меня - я был подключен к базе данных через туннель, который потерял соединение - ни \q
, ни Ctrl+D
не работали, но я мог Ctrl+Z
и затем убить приостановленный процесс
Вы можете заменить слово «попробовать» словом «использовать» в верхней части этого ответа. Это вызывает чувство «не уверен», но это прямой и рабочий ответ на вопрос.
Для командной строки Linux: \ q + введите.
Выход с помощью Ctrl + D также работает
Это просто повторяет ответы Франклина и Карела.
Я узнал, что могу включить \ q в пакетный файл .sql, чтобы psql мог выйти раньше из операции \ i.
Моя обычная последовательность клавиш:
quit()
quit
exit()
exit
q
q()
!q
^C
help
Alt + Tab
google.com
Quit PSQL
\q
Я думаю, ветераны командной строки psql обычно сокращают это до просто:
\q
Я сам пробовал Ctrl-Z. Работа была выполнена более или менее, но я не был полностью удовлетворен. :(
ctrl + D для выхода из любого места
@mjwach ctrl + z просто приостанавливает процесс в фоновом режиме, почти наверняка не то, что вы хотите.
postgres = # / q postgres- # \ q
Посмеялся над твоим ответом. Мозг раздавлен из-за различных инструментов, которые мы используем.
Да, спасибо за юмор. Мой был google.com, затем нажмите ссылку coderhelper.com/questions/9463318/…
Я бы хотел, чтобы на все вопросы по SO был один ответ, подобный этому.
Я думаю, вы пропустили: q
Ctrl + D - это то, что я обычно использую для выхода из консоли psql.
Ага. Это также работает в bash, sh, ssh, zsh, irb, pry, python, sudo su, node и других. Это стандартный способ выхода из оболочки любого типа.
Не просто оболочка. Любая разумно нормальная программа, которая читает из stdin и интерпретирует пустую строку как EOF, примет ^ D.
У меня это не работает, вероятно, потому, что я использую раскладку клавиатуры Дворжака в OSX. Ни cmd-D, ни cmd-E (где D находится на Qwerty) не работают.
@NessBird Ctrl - это не то же самое, что Cmd. Попробуйте Control-D вместо Command-D.
@Kevin, вам не нужно интерпретировать пустую строку как EOF .. по умолчанию отправка ctrl + D заставит вас фактически получить EOF от fgetc () (int = -1), и он закроет поток файла stdin: любой последующий вызов f * read * () вернет ошибку, а feof (stdin) вернет 1. Так что распознать это еще проще :)
@a_horse_with_no_name: Меня не шокирует вопрос, а количество голосов за :) Сравните, например, на Как выйти из редактора Vi одним нажатием клавиши?
Иногда нам нужен быстрый и прямой ответ, чем искать его в руководстве, чтобы сосредоточиться на реальной проблеме. В таких случаях эти короткие вопросы действительно полезны.
Настоящий вопрос не в «способны ли люди читать руководство» , а в «должно ли корпоративное программное обеспечение реагировать на стандартные последовательности выхода» типа, я не знаю, «выход»? Необходимость прочитать руководство, чтобы бросить курить, кажется очень нелогичной.
@Kheldar Действительно, это просто плохой дизайн пользовательского интерфейса (вкупе с высокомерием). Люди не уверены в странных вещах.
Что еще более важно, этот пост стал первым, когда я гуглил "exit psql"
Отличный пример ужасного юзабилити (в остальном отличный продукт)! Вот почему разработка иногда так разочаровывает ...
Спасибо за это. Пробовал выйти, выйти, пока ... затем \ выйти \ выйти. В конце концов \ h за помощью, но \? было то, что я должен был использовать ...
@MartijnPieters: Я думаю, что
\?
- разумный ответ на этот ленивый вопрос и подобные. Научите человека ловить рыбу и т. Д. И это тот, который вы удалили.Другие неленивые ответы на ленивые вопросы: - «Можно мне ваш номер?» - «Да, конечно, поищи в телефонной книге». ;) Знаю, лучше удочку отдать, чем рыбу. Но я думаю, что это не всегда так - не тогда, когда кому-то нужна рыба очень быстро или / и он веган и нуждается в рыбе только один раз для дяди Тома, который навещает его раз в год. Лучшим ответом, вероятно, было бы дать и то, и другое. Итак, после прочтения можно было бы знать, как выйти из psql, и узнать, как проверить, как выйти (или найти другие команды), если он / она чудесным образом не знает этого уже (не читал информацию на экране?).
Обычно я выхожу из psql в отчаянии, потому что не могу понять, как заставить его делать что-нибудь. Причина в том, что я не понимал, что вы должны добавить; до конца операторов SQL в psql, или они считаются неполными и не выполняются.
@NessBird Практически любая оболочка SQL требует точки с запятой в конце операторов, даже для MSSQL и других вариантов, для которых они обычно не требуются.
потратил 2 минуты на поиски команды "exit" в документации. потратил 10 секунд, чтобы гуглить ответ на coderhelper.com