PostgreSQL 又稱 Postgres,是一種開源的物件關係型資料庫系統,可幫助使用者安全地儲存和擴充套件複雜的資料工作負載。它使用並擴充套件了 SQL,SQL 是使用者訪問資料庫的語言。
要有效管理 Postgres 資料庫伺服器,必須熟悉環境和伺服器儲存的內容。有時,你可能需要列出伺服器上執行的資料庫,檢索它們的資訊,並連線到它們。你可以使用 PostgreSQL 介面或圖形工具(如 Adminer)完成這些任務,輕鬆檢視和操作這些資訊。
如果你的資料庫只是 Postgres 伺服器上的幾個資料庫之一,你可能需要過濾列表才能找到它。然後,你通常需要概覽資料庫所包含的資料,這就需要一個表的列表。本實踐指南演示瞭如何在 Postgres 中列出資料庫和表。
前提條件
要學習本指南,請確保您具備以下條件:
- 安裝了一個或多個資料庫的 Postgres 資料庫伺服器。
- 資料庫伺服器上某個賬戶的超級使用者訪問憑證。
- 熟悉基本 SQL 命令,如
SELECT
語句和WHERE
子句。
您還需要有一些可用的資料庫和表。
如何連線 PostgreSQL 資料庫伺服器
連線 PostgreSQL 資料庫伺服器需要通過安裝後桌面上的 SQL Shell 訪問其獨特的 SQL 版本(稱為 psql)。
使用 psql 和 SQL Shell,你可以管理你的資料庫環境。大多數 SQL 命令用於運算元據和表格,而 psql 元命令則用於處理資料庫管理任務。例如,使用元命令建立或刪除資料庫,使用 SQL 命令新增表格或檢索資料。
Psql 元命令由反斜槓( \
)字首區分,許多元命令有更短的版本。例如, \help
和 \h
具有相同的功能。
要執行 SQL 語句和元命令,請通過 SQL Shell 登入伺服器。系統會提示你提供:
- 目標資料庫名稱
- 使用者名稱
- 密碼
輸入資訊後,會出現一個提示,讓你輸入 SQL 命令和元命令:
成功登入 psql。
連線成功後,您可以列出可用的資料庫:
- 連線到特定資料庫
- 過濾資料庫列表
- 在資料庫之間切換
- 列出資料庫中的表格
如何列出資料庫
在 Postgres 伺服器中,管理多個資料庫是標準做法。每個資料庫都位於一個獨特的目錄中,單獨儲存在伺服器中。
要有效管理資料庫伺服器,可能需要檢索特定資訊,如伺服器的資料庫列表及其相關詳細資訊。要使用 psql 列出 Postgres 伺服器中的資料庫,請在 SQL Shell 中登入 Postgres 環境。
登入後,在命令列輸入元命令 \list
。這將提示 SQL Shell 顯示環境中的資料庫概覽,如下圖所示:
psql 中的資料庫列表。
如果想更快地執行命令,可以使用縮寫形式 \l
,同樣可以獲得全面的資料庫列表。
在 Postgres 環境中過濾資料庫
當在一個擁有眾多資料庫的環境中瀏覽時,精確定位一個特定的資料庫就變得至關重要。SQL Shell 可以通過在命令中加入資料庫特徵來實現這一目的。
在 Postgres 環境中,資料庫資訊儲存在 pg_database
表中。例如,如果要檢索和過濾包含 “test” 一詞的資料庫,請執行以下查詢:
SELECT * FROM pg_database WHERE datname = 'test_data';
然後,SQL Shell 會列出符合條件的資料庫:
名稱包含字串 test 的資料庫列表。
由於這種列出資料庫和過濾結果的方法是基於 SQL 的,因此可以構造複雜的查詢來建立過濾後的資料庫列表。不過,這需要熟悉 SQL 和 Postgres 後設資料。
如何連線和切換資料庫
在使用 SQL Shell 和 PSQL 瀏覽資料庫時,只要知道目標資料庫的名稱,連線到資料庫或在資料庫之間切換就很簡單。
要連線或切換到資料庫,請在 SQL Shell 中登入 Postgres 環境。
然後,在命令列中輸入元命令 \connect
,接著輸入目標資料庫的名稱。例如,要連線名為 test_data
的資料庫,請使用 \connect test_data
命令。
連線到資料庫後,SQL Shell 會顯示以下訊息:
成功連線到資料庫 test_data。
或者,你也可以使用簡短命令 \c
來達到同樣的效果。
如何列出資料庫表
連線到資料庫後,就可以列出其中包含的表。為此,請輸入 \dt
命令。
SQL Shell 會列出資料庫中的所有表:
當前資料庫中的表格列表。
使用管理員訪問資料庫和表
SQL Shell 只是管理 Postgres 資料庫的一種工具。另一個工具是 Adminer,它提供了一個簡單的圖形使用者介面(GUI)來管理資料庫伺服器。此外,Adminer 可以在任何安裝了 PHP 的環境中執行。
您可以單獨安裝和執行 Adminer,安裝好 Adminer 後,執行它並輸入 Postgres 環境的憑據:
Adminer 登入頁面。
您可以使用 Adminer 檢索 Postgres 環境中的資料庫列表。登入資料庫伺服器後,資料庫列表就會出現:
Adminer 顯示所有資料庫的列表。
要連線到所需的資料庫,請從列表中選擇該資料庫。然後,Adminer 會顯示所選資料庫的表、檢視、例程、序列和使用者型別列表。
test_data 資料庫的資訊。
或者,也可以從頁面左側的 DB 下拉選單中選擇資料庫:
下拉選單顯示可用資料庫。
小結
要成功地管理 Postgres 環境中的資料庫,就必須能夠以最小的代價檢視、過濾和互動所包含的資料。您可能會選擇 SQL Shell 命令列,但像 Adminer 這樣的圖形使用者介面工具可能更適合您的工作流程。
評論留言