[pgsql-jp: 37982] 入れ子レコードを取り出すには?

ITAGAKI Takahiro itagaki.takahiro @ oss.ntt.co.jp
2007年 2月 6日 (火) 19:06:14 JST


板垣です。

pgstattuple の結果を一覧出力したいと考え、以下のようなSQLを書きました。
しかし、pgstattuple の返値レコードが、1つの列の中に入れ子になってしまいました。

# SELECT relname, pgstattuple(oid) FROM pg_class WHERE relkind='r' ORDER BY relname;

         relname     |                pgstattuple
    -----------------+--------------------------------------------
     pg_aggregate    | (8192,115,6663,81.34,0,0,0,708,8.64)
     pg_am           | (8192,4,640,7.81,0,0,0,7512,91.7)
     ...

以下のように、列の中身を展開した出力が欲しいのですが、
どのようなSQLを書けば良いのでしょうか?

         relname     | table_len | tuple_count | tuple_len | ...
    -----------------+-----------+-------------+-----------+------
     pg_aggregate    |      8192 |         115 |      6663 | ...
     pg_am           |      8192 |           4 |       640 | ...
     ...

良い手法があれば、教えていただければと思います。
よろしくお願いします。

------------------------------------------------------------
板垣貴裕 <itagaki.takahiro @ oss.ntt.co.jp>




pgsql-jp メーリングリストの案内