2010/12/7 Michael C Rosenstein <m...@mdibl.org>

> On 12/6/10 4:09 PM, Tom Lane wrote:
>
>> Michael C Rosenstein<m...@mdibl.org>  writes:
>>
>>> What is "schema" in this context?
>>>>
>>>
>>  Oracle "schema" == Postgres "database":  a collection of objects
>>> (tables, functions, triggers, views, etc) owned by a user.
>>>
>>
>> That seems like a pretty unlikely equivalence.  What I'm afraid
>> you are really saying you want is cross-database synonyms (ie links
>> to objects in remote databases).  Which I'm pretty sure is not what
>> JD is offering to implement, though I think it is possible to do
>> in Oracle.
>>
>
> Nope, not talking about remote database links, but merely links to
> different databases in the same process on the same host.
>
> For example webAppUser sometimes needs to access the
> public1.get_customer_name() function, the public1.order table and the
> edit.account table. After a new data load of the public2 database, the
> webAppUser would need to access the public2.get_customer_name() function,
> the public2.order table and the edit.account table. By switching the
> webAppUser's 'get_customer_name()' and 'account' synonyms, this toggling
> between accessing public1 and public2 objects is quick, easy and seamless.
>  The webAppUser code need only contain:
> select get_customer_name();
> or
> select * from order;
> without needing to be conscious of whether it is selecting from public1 or
> public2.
>
There are NOTIFY/LISTEN system in PostgreSQL and you can use
appropriate function on some event (data loaded in you case), for example.

>
> Synonyms are a great feature in Oracle. The lack of synonyms in PostgreSQL
> was one of our biggest hesitations in switching. As I said, however, we
> found a hacky workaround by toggling the webAppUser's search path.
>
> /m
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>



-- 
// Dmitriy.

Reply via email to