From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Michael Shapiro <mshapiro51(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: select view definition from pg_views feature request |
Date: | 2019-11-05 15:01:37 |
Message-ID: | a484eebb-49a8-1ce4-99e0-179dc3e6b276@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 11/5/19 6:43 AM, Michael Shapiro wrote:
> Can I set search_path='' (ie to a string that does not match any
> existing schema)? Would that be the proper way to guarantee that the
> definition for any view will always be fully-qualified?
test=# show search_path;
search_path
------------------------------------------------------------------
public,accounting,history,main,utility,timeclock,table_templates
test=# select * from pg_views where viewname = 'up_view';;
schemaname | viewname | viewowner | definition
------------+----------+-----------+-------------------------------
public | up_view | aklaver | SELECT up_test.id AS up_id, +
| | | up_test.col1 AS bool_col,+
| | | up_test.col_2 AS col2 +
| | | FROM up_test;
(1 row)
test=# set search_path = '';
SET
test=# show search_path;
search_path
-------------
""
(1 row)
test=# select * from pg_views where viewname = 'up_view';;
schemaname | viewname | viewowner | definition
------------+----------+-----------+-------------------------------
public | up_view | aklaver | SELECT up_test.id AS up_id, +
| | | up_test.col1 AS bool_col,+
| | | up_test.col_2 AS col2 +
| | | FROM public.up_test;
(1 row)
>
> On Sun, Nov 3, 2019 at 3:15 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us
> <mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us>> wrote:
>
> Michael Shapiro <mshapiro51(at)gmail(dot)com <mailto:mshapiro51(at)gmail(dot)com>>
> writes:
> > It seems that the definition of a view from pg_catalog.pg_views
> does not
> > qualify the tables used in the view if the tables are in the
> current search
> > path.
>
> > Is it possible to either have the definition always qualify all
> tables
> > independent of the search_path (or else provide a new column that
> does
> > that)?
>
> Why don't you just change the search path to empty before selecting?
>
> regards, tom lane
>
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2019-11-05 15:02:51 | Re: logical replication - negative bitmapset member not allowed |
Previous Message | Stephen Frost | 2019-11-05 15:00:35 | Re: v12 and pg_restore -f- |