ビュー内の列の派生式を取得したいのですが、ストアドプロシージャ内から動的に取得したいので、psql\d +やpgAdminは役に立ちません。
この情報はどこから取得できますか?全文はpg_viewsにありますが、この文字列をスライスして各列式を見つけようとはしません。
から ドキュメント
PostgreSQLのビューは、ルールシステムを使用して実装されます。
したがって、基本的に、それらは単にSELECTstatemetnsに書き直されます。カタログには、列式を格納するものはありません。内部的には、ビューで\d
を実行すると、 pg_catalog.pg_get_viewdef
が呼び出されます。システムカタログでは、それ以上のことはできません。おそらくlibpg_query
のようなものを使用して、列式に到達するために そのクエリを解析する する必要があります。