從 PostgreSQL 中的命令列實用程式退出

Bilal Shahid 2023年1月30日
  1. 使用 \q 命令從 PostgreSQL 的命令列實用程式中終止指令碼
  2. 使用 exit 從 PostgreSQL 的命令列實用程式中退出
  3. CTRL+C 退出 PostgreSQL 的命令列實用程式
  4. Ctrl+Z 從 PostgreSQL 的命令列實用程式暫停
  5. 在 Bash、Linux 和 Unix 中按 Ctrl+D 終止 Shell 程序
  6. Ctrl+Z終止 Shell 程序
  7. Ctrl+</kbd> 退出 PostgreSQL 會話
  8. 在 PostgreSQL 中使用 \!終止程序的命令
  9. まとめ
從 PostgreSQL 中的命令列實用程式退出

PSQL 是 PostgreSQL 資料庫伺服器的基於終端的前端。它使用來自輸入的檔案或命令列引數,並且可移植且易於使用。

它還有助於編寫指令碼並讓其他任務或會話在系統後臺正確執行,而無需使用者擔心細節。

今天,我們將學習如何退出 PSQL 命令列實用程式。

使用 \q 命令從 PostgreSQL 的命令列實用程式中終止指令碼

如果你還沒有,請使用以下語句從命令提示符登入到你的 PSQL。

psql -u postgres

輸入使用者名稱並繼續。要退出開啟的會話,請鍵入以下任何內容。

\q

或者

\quit

PostgreSQL 文件在 PSQL Options 部分下定義了這些。但是,這隻會終止指令碼檔案中的特定指令碼。

指令碼檔案是為從 PSQL 終端內部執行的查詢編寫的 .SQL 檔案。因此,如果你傾向於執行它並呼叫 \q 命令,它將終止正在執行的檔案,而不是我們的 PSQL 會話。

使用 exit 從 PostgreSQL 的命令列實用程式中退出

PSQL 對程式設計師來說越來越容易執行。如果你鍵入 exit 並在命令列中執行它,你將獲得以下資訊:

輸出:

Run the \q command or \quit to exit

在較新版本的 PSQL 中,繼續並鍵入 exit 以退出當前 PSQL 會話並返回到正常實用程式。

你可以使用此命令檢查如何退出 PSQL 會話。

\?

PSQL 中有一種稱為單使用者後端模式的東西。SINGLE USER 具有 SUPER USER 許可權,並且主要在需要災難恢復時呼叫此 shell,並且 PostgreSQL 伺服器以某種方式崩潰或遇到故障。

在這種情況下,你可能無法執行 \q 命令。

CTRL+C 退出 PostgreSQL 的命令列實用程式

我們可以用來退出當前 PSQL 會話的另一種方法是同時按 CTRL+C

CTRL+C 是一個快捷方式,用於從啟動的 shell 向後臺執行的程序傳送 INTERRUPT 訊號。它通過終端傳送一個 SIGINT 訊號來告訴程序快速終止。

當你按下這些鍵時,PSQL 實用程式將自動發出 \q 命令並終止 PostgreSQL 會話。

Ctrl+Z 從 PostgreSQL 的命令列實用程式暫停

你可以用來暫停程序執行的另一個重要命令是組合Ctrl+Z鍵,然後按 Enter

此命令將向程序發出 SIGTSTP 訊號,這將暫停在後臺執行的程序並將使用者返回到 shell。

此命令不會終止程序,而是暫停它。儘管執行到 shell,但一旦開啟並啟動,該程序仍將在系統後臺繼續執行和工作。

在 Bash、Linux 和 Unix 中按 Ctrl+D 終止 Shell 程序

現在,使用這種組合鍵可能無法在 PSQL shell 中工作。但是,你仍然可以嘗試在 Bash、Linux 或 Unix 中退出 PostgreSQL shell。

這是如何運作的?END OF FILE (EOF) 的預設值為^D,通過在 shell 中按 Ctrl+D 輸入。

它是終端介面的裝置驅動程式提供給 shell 核心的一個特殊的內部控制字元。所以一旦你告訴 shell 輸入必須停止,它就會自動終止。

Ctrl+Z終止 Shell 程序

這個命令是如何工作的? Ctrl+Z 向 shell 傳送 TSTP 訊號。

訊號是軟體中斷,用於使用者和程序之間的通訊。TSTP 訊號是 SIGTSTP 的縮寫形式,即操作的 SUSPEND 訊號。

它可以註冊一個訊號處理程式或忽略一個訊號。如果程序被掛起,你可以稍後在返回 shell 後使用以下命令殺死所有程序。

kill -l

Ctrl+</kbd> 退出 PostgreSQL 會話

再一次,一些 PSQL 使用者可能無法使用此命令,尤其是那些在 Windows 上的使用者。但是,它可能對 Linux 或 Bash 使用者和其他平臺有效。

這個命令通過傳送一個 SIGQUIT 訊號來工作,這意味著退出,從它的名字可以看出。它會導致程序立即被殺死並轉儲到核心。

核心轉儲在終止時自動生成。

在 PostgreSQL 中使用 \!終止程序的命令

這是 PSQL 元命令文件下的另一個方便的命令。要在 Postgres 會話中使用它,請輸入以下內容。

\!

然後按 Enter 退出。

如果你不為此命令提供引數,它將自動返回到子 shell。輸入的行的其餘部分將被傳遞到將退出的子 shell。

まとめ

如果上述任何Ctrl+Letter 選項不起作用,請嘗試在這些命令中間附加一個 Shift。你可以嘗試以下方法。

CTRL + SHIFT + D \ CTRL + SHIFT + \

我們希望你深入瞭解退出 PSQL shell 的不同方法。始終遵循適當的文件以瞭解執行程式的正確方法,並遵循我們的教程以便在出現異常時更好地理解。

你可以稍後使用此資訊為你帶來好處,並以你喜歡的方式實施它。

儘管各種命令執行類似的功能,但它們具有不同的操作方法。該方法是否適合你或你的系統最好完全取決於你!

因此,請確保你通讀此內容並根據需要實施解決方案。

作者: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub