Re: Can a view use a schema search_path?

From: salah jubeh <s_jubeh(at)yahoo(dot)com>
To: Alban Hertroys <haramrae(at)gmail(dot)com>, Adam Mackler <adammackler(at)gmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Can a view use a schema search_path?
Date: 2012-09-17 15:02:35
Message-ID: 1347894155.59087.YahooMailNeo@web122203.mail.ne1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Another solution would be to create a view based on a function and pass the schema name to the function.

But,  I think you have to rethink your server configuration and may be whole development environment. One server for  live data and staging, testing , training ... I found that really dangerous

Regards

________________________________
From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: Adam Mackler <adammackler(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Sent: Monday, September 17, 2012 4:46 PM
Subject: Re: [GENERAL] Can a view use a schema search_path?

On 17 September 2012 11:06, Adam Mackler <adammackler(at)gmail(dot)com> wrote:
> I have the feeling the answer is no, but I would like an authoritative
> answer before I give up.
>
> My plan was to have two schemas: one for the live data, and one for staging,
> training, and testing.  Both schemas would have identically-named tables.  I
> wanted to create a single view in the public schema, and have that one view
> refer to the tables in one or the other schema depending on my search_path
> setting at the time I query the view.
>
> But it seems that at the time the view is created it decides which schema's
> table it's referring to, even if I don't explicitly qualify the table names
> with the schema name.
>
> Am I correct in concluding that there's no way to have a single view in the
> public schema that selects data from tables in different other schemas
> depending on my search_path at the time I execute a query involving that
> view?
>
> Thanks.
> --
> Adam Mackler

Wouldn't it be easier to create a view in each schema with the
appropriate search_path?

That way, you get the view that your search_path points to, which then
in turn uses the tables from the search_path in use when the view was
created.

--
If you can't see the forest for the trees,
Cut the trees and you'll see there is no forest.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Edson Richter 2012-09-17 15:11:18 Re: Get time for each operation in "Explain..."
Previous Message Pavel Stehule 2012-09-17 14:53:58 Re: Get time for each operation in "Explain..."