Re: column information from view
От | Adrian Klaver |
---|---|
Тема | Re: column information from view |
Дата | |
Msg-id | 60527cd2-6c53-ddf0-901d-20b2221a1a3b@aklaver.com обсуждение исходный текст |
Ответ на | column information from view ("Sebastian P. Luque" <spluque@gmail.com>) |
Ответы |
Re: column information from view
|
Список | pgsql-general |
On 9/14/18 2:35 PM, Sebastian P. Luque wrote: > Hello, > > I'm trying to generate a table with information on columns from a > temporary view that simply selects a subset of columns from a persistent > view in a given schema. The persistent view joins a number of tables > with columns that may or may not have a description entered. I need a > table with a list of columns from the temporary view, and the matching > descriptions from the underlying persistent view. > > Here's my attempt at listing the temporary view's columns and respective > descriptions: > > SELECT cols.ordinal_position, cols.column_name, > col_description(cl.oid, cols.ordinal_position::INT) > FROM pg_class cl, information_schema.columns cols > WHERE cols.table_catalog='dbname' AND cols.table_schema='some_schema' AND > cols.table_name = 'persistent_view' AND cols.table_name = cl.relname > ORDER BY cols.ordinal_position::INT; > > The problem, of course, is that it lists columns from the persistent > view, instead of the subset of them in the temporary view. Is there a > better way to do that? Hopefully this makes sense. create temp view c_data as select source_id, geography_desc from catfish_data ; \d c_data View "pg_temp_3.c_data" Column | Type | Collation | Nullable | Default ----------------+-------------------+-----------+----------+--------- source_id | integer | | | geography_desc | character varying | SELECT cols.ordinal_position, cols.column_name, col_description(cl.oid, cols.ordinal_position::INT) FROM pg_class cl, information_schema.columns cols WHERE cols.table_catalog='aquaculture' AND cols.table_schema ilike 'pg_temp%' AND cols.table_name = 'c_data' AND cols.table_name = cl.relname ORDER BY cols.ordinal_position::INT; ordinal_position | column_name | col_description ------------------+----------------+----------------- 1 | source_id | NULL 2 | geography_desc | NULL > > Thanks, > -- > Seb > > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: