首頁 >資料庫 >mysql教程 >如何在 PostgreSQL 中檢索索引列資訊?

如何在 PostgreSQL 中檢索索引列資訊?

Linda Hamilton
Linda Hamilton原創
2024-12-30 00:18:14815瀏覽

How to Retrieve Indexed Column Information in PostgreSQL?

在 PostgreSQL 中取得索引列資訊

在 MySQL 中,SHOW INDEXES 指令可用於擷取為特定索引表建立索引的欄位。但是,在 PostgreSQL 中,沒有與此指令直接等效的指令。

要在PostgreSQL 中獲取此信息,可以使用以下查詢:

SELECT
    t.relname AS table_name,
    i.relname AS index_name,
    a.attname AS column_name
FROM
    pg_class t,
    pg_class i,
    pg_index ix,
    pg_attribute a
WHERE
    t.oid = ix.indrelid
    AND i.oid = ix.indexrelid
    AND a.attrelid = t.oid
    AND a.attnum = ANY(ix.indkey)
    AND t.relkind = 'r'
    AND t.relname LIKE 'test%';

此查詢連接pg_class 表(其中包含有關表的信息)、pg_index 表(包含有關索引的信息)和pg_attribute 表(包含有關表格列的資訊)。然後,它會過濾結果以僅包含特定表的索引(在此範例中,名稱以“test”開頭的表)。

此查詢的輸出將是索引名稱和列的列表

總而言之,雖然MySQL 有專門的命令來檢索索引列信息,但PostgreSQL 需要涉及多個表連接的更複雜的查詢。儘管如此,提供的查詢可以有效地完成任務。

以上是如何在 PostgreSQL 中檢索索引列資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn