Postgresql
通過 select 獲取 postgres 分區表結構
我正在尋找一些基於 SQL 的簡單命令來向我展示 postgres 中的分區表結構。類似的東西
\d <table>
。到目前為止,我發現的只是做pgdump
.db=> \d partitioned_table ERROR: column c.relhasoids does not exist LINE 1: ..., c.relhasindex, c.relhasrules, c.relhastriggers, c.relhasoi...
我不知道有任何“基於 sql 的簡單命令”,但這並不意味著您不能創建一個可以滿足您需求的命令。
在 psql 中,您可以
\set ECHO_HIDDEN on
. 這將導致 psql 回顯它用來回答\d ...
命令的查詢。設置 ECHO_HIDDEN 後,執行
\d+ my_schema.my_partitioned_table
。這將為您提供的不僅是有關分區表的詳細資訊(包括分區),還有用於檢索這些詳細資訊的查詢。使用這些查詢作為起點,可以建構您想要的內容。
SELECT table_name, column_name, data_type, character_maximum_length FROM information_schema.columns WHERE table_name = 'partitioned_table';