Search Postgresql Archives

Re: select view definition from pg_views feature request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxx <mailto:tgl@xxxxxxxxxxxxx>> wrote:

    Michael Shapiro <mshapiro51@xxxxxxxxx <mailto:mshapiro51@xxxxxxxxx>>
    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.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux