Re: How are the SELECT queries reconstructed in pg_views

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Julius de Bruijn <bruijn(at)prisma(dot)io>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: How are the SELECT queries reconstructed in pg_views
Date: 2023-03-28 20:26:17
Message-ID: abf8a3e5-570c-84a1-dda6-491bd288e3d6@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 3/28/23 13:23, Adrian Klaver wrote:
> On 3/28/23 06:43, Julius de Bruijn wrote:
>> Hi,

>> I haven't been able to find exactly what changes PostgreSQL does when
>> reconstructing the query, but I've successfully been able to create
>> views where the resulting query differs from what I wrote. Is there
>> any documentation for this feature where I can learn more about what
>> happens before the query is stringified to the information schema? Or,
>> even better, is there a way for me to send a query to the database and
>> as a result get back a reconstructed query?
>
>

I should have added I got pg_get_viewdef() from the below :

\d+ information_schema.views

...

CASE
WHEN pg_has_role(c.relowner, 'USAGE'::text) THEN
pg_get_viewdef(c.oid)
ELSE NULL::text
END::information_schema.character_data AS view_definition,

...

> SELECT pg_catalog.pg_get_viewdef('61822'::pg_catalog.oid, true);
>          pg_get_viewdef
> --------------------------------
>   SELECT up_test.id AS up_id,  +
>      up_test.col_1 AS bool_col,+
>      up_test.col_2 AS col2     +
>     FROM up_test;
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Zheng Li 2023-03-28 21:19:35 Re: Support logical replication of DDLs
Previous Message Adrian Klaver 2023-03-28 20:23:40 Re: How are the SELECT queries reconstructed in pg_views