15 個你不想錯過的實用 psql 指令

Home 教學 15 個你不想錯過的實用 psql 指令
15 個你不想錯過的實用 psql 指令
教學

在本教學中,我們為您提供了常用 psql 命令列表,可幫助您更快、更有效地從 PostgreSQL 資料庫查詢數據。

1. 連接到 PostgreSQL 資料庫

以下命令連接到特定用戶下的資料庫。 按下 Enter 後,PostgreSQL 會詢問用戶的密碼。

$ psql -d database -U  user -W

例如,要在postgres 用戶下連接到 customers 資料庫,請使用以下命令:

$ psql -d customers -U postgres -W
Password for user postgres:
customers =#

如果要連接到位於另一台主機上的資料庫,請添加 -h 選項,如下所示:

$ psql -U user -h host "dbname=db sslmode=require"

2. 切換連接到新的資料庫

連接到資料庫後,您可以將連接切換到新數據庫。 之前的連接將被關閉。 如果省略 user 參數,則假定為當前用戶。

postgres=# \c dbname username

舉例來說,以下命令連接到 postgres 用戶下的 customers 數據庫:

postgres=# \c customers
You are now connected to database "customers" as user "postgres".
customers=#

3. 列出可用的資料庫

要列出當前 PostgreSQL 資料庫服務器中的所有資料庫,請使用 \l 命令:

postgres=# \l

4. 列出可用的表格

要列出當前資料庫中的所有表格,請使用 \dt 命令:

postgres=# \dt

5. 描述表格

要描述一個表格,例如列、類型、列的修飾符等,請使用以下命令:

postgres=# \d table_name

6. 列出可用的架構

要列出當前連接的資料庫的所有架構,請使用 \dn 命令。

postgres=# \dn

7. 列出可用的函式

要列出當前資料庫中的可用函數,請使用 \df 命令。

postgres=# \df

8. 列出可用視圖

要列出當前資料庫中的可用視圖,請使用 \dv 命令。

postgres=# \dv

9. 列出用戶及其角色

要列出所有用戶及其分配角色,請使用 \du 命令:

postgres=# \du

10. 命令歷史

要顯示命令歷史記錄,請使用 \s 命令。

postgres=# \s

如果要將命令歷史保存到文件中,則需要在 \s 命令後面指定文件名,如下所示:

postgres=# \s filename

11. 從文件執行 psql 命令

如果要從文件執行 psql 命令,請使用 \i 命令,如下所示:

postgres=# \i filename

12. 獲取有關 psql 命令的幫助

要了解所有可用的 psql 命令,請使用 \? 命令。

postgres=# \?

要獲得有關特定 PostgreSQL 語句的幫助,請使用 \h 命令。

例如,如果您想了解有關 ALTER TABLE 語句的詳細信息,請使用以下命令:

postgres=# \h ALTER TABLE

13. 開啟查詢執行時間

要打開查詢執行時間,請使用\timing 命令。

postgres=# \timing
Timing is on.
postgres=# select count(*) from film;
 count
-------
  1000
(1 row)

Time: 1.495 ms
postgres=#

您使用相同的命令 \timing 將其關閉。

postgres=# \timing
Timing is off.
postgres=#

14. 切換輸出選項

psql 支持某些類型的輸出格式,並允許您自定義輸出的格式。

  • \a 命令會切換輸出的格式,對齊,或者非對齊的。
  • \H 命令將輸出格式化為 HTML 格式。

15. 離開 psql

要退出 psql,請使用 \q 命令並按 enter 退出 psql。

postgres=# \q

相關文章