Postgres列出資料庫和表的實用教程

Postgres列出資料庫和表的實用教程

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

成功登入 psql。

連線成功後,您可以列出可用的資料庫:

  • 連線到特定資料庫
  • 過濾資料庫列表
  • 在資料庫之間切換
  • 列出資料庫中的表格

如何列出資料庫

在 Postgres 伺服器中,管理多個資料庫是標準做法。每個資料庫都位於一個獨特的目錄中,單獨儲存在伺服器中。

要有效管理資料庫伺服器,可能需要檢索特定資訊,如伺服器的資料庫列表及其相關詳細資訊。要使用 psql 列出 Postgres 伺服器中的資料庫,請在 SQL Shell 中登入 Postgres 環境。

登入後,在命令列輸入元命令 \list。這將提示 SQL Shell 顯示環境中的資料庫概覽,如下圖所示:

psql 中的資料庫列表

psql 中的資料庫列表。

如果想更快地執行命令,可以使用縮寫形式 \l,同樣可以獲得全面的資料庫列表。

在 Postgres 環境中過濾資料庫

當在一個擁有眾多資料庫的環境中瀏覽時,精確定位一個特定的資料庫就變得至關重要。SQL Shell 可以通過在命令中加入資料庫特徵來實現這一目的。

在 Postgres 環境中,資料庫資訊儲存在 pg_database 表中。例如,如果要檢索和過濾包含 “test” 一詞的資料庫,請執行以下查詢:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT * FROM pg_database WHERE datname = 'test_data';
SELECT * FROM pg_database WHERE datname = 'test_data';
SELECT * FROM pg_database WHERE datname = 'test_data';

然後,SQL Shell 會列出符合條件的資料庫:

名稱包含字串 test 的資料庫列表

名稱包含字串 test 的資料庫列表。

由於這種列出資料庫和過濾結果的方法是基於 SQL 的,因此可以構造複雜的查詢來建立過濾後的資料庫列表。不過,這需要熟悉 SQL 和 Postgres 後設資料。

如何連線和切換資料庫

在使用 SQL Shell 和 PSQL 瀏覽資料庫時,只要知道目標資料庫的名稱,連線到資料庫或在資料庫之間切換就很簡單。

要連線或切換到資料庫,請在 SQL Shell 中登入 Postgres 環境。

然後,在命令列中輸入元命令 \connect,接著輸入目標資料庫的名稱。例如,要連線名為 test_data 的資料庫,請使用 \connect test_data 命令。

連線到資料庫後,SQL Shell 會顯示以下訊息:

成功連線到資料庫 test_data

成功連線到資料庫 test_data。

或者,你也可以使用簡短命令 \c 來達到同樣的效果。

如何列出資料庫表

連線到資料庫後,就可以列出其中包含的表。為此,請輸入 \dt 命令。

SQL Shell 會列出資料庫中的所有表:

當前資料庫中的表格列表

當前資料庫中的表格列表。

使用管理員訪問資料庫和表

SQL Shell 只是管理 Postgres 資料庫的一種工具。另一個工具是 Adminer,它提供了一個簡單的圖形使用者介面(GUI)來管理資料庫伺服器。此外,Adminer 可以在任何安裝了 PHP 的環境中執行。

您可以單獨安裝和執行 Adminer,安裝好 Adminer 後,執行它並輸入 Postgres 環境的憑據:

Adminer 登入頁面

Adminer 登入頁面。

您可以使用 Adminer 檢索 Postgres 環境中的資料庫列表。登入資料庫伺服器後,資料庫列表就會出現:

Adminer 顯示所有資料庫的列表

Adminer 顯示所有資料庫的列表。

要連線到所需的資料庫,請從列表中選擇該資料庫。然後,Adminer 會顯示所選資料庫的表、檢視、例程、序列和使用者型別列表。

test_data 資料庫的資訊

test_data 資料庫的資訊。

或者,也可以從頁面左側的 DB 下拉選單中選擇資料庫:

下拉選單顯示可用資料庫

下拉選單顯示可用資料庫。

小結

要成功地管理 Postgres 環境中的資料庫,就必須能夠以最小的代價檢視、過濾和互動所包含的資料。您可能會選擇 SQL Shell 命令列,但像 Adminer 這樣的圖形使用者介面工具可能更適合您的工作流程。

評論留言