2010/12/7 Andy Colson <a...@squeakycode.net> > On 12/7/2010 8:12 AM, Daniel Verite wrote: > >> Vick Khera wrote: >> >> On Mon, Dec 6, 2010 at 2:31 PM, Joshua D. Drake<j...@commandprompt.com> >>> wrote: >>> >>>> Command Prompt is currently considering writing a patch to provide >>>> synonyms to PostgreSQL. Is this something the community is interested >>>> in? Do we have use cases for it? MSSQL, DB2 and Oracle support them. >>>> >>>> >>> I must be missing something, but really, what's the point of synonyms? >>> What's the real-world use case for them? >>> >> >> It's about decoupling the name from the actual object, much like what soft >> links are for file systems. >> It's convenient when you need to change the underlying object without >> touching the application code. >> >> Best regards, >> > > So, you could rename a table without having to change the code? But you > cant rename a column, or drop one, and thats a much more common thing I'd > bet. And eventually you would change the code, right? Isn't it much better > to keep everyone on the same page? If you have 10 program using 10 > different names for the same table... how can that possibly be useful? Just > sounds confusing and troublesome. > > I can see a situation for live/hot upgrades. Having old code and new code > run at the same time. But eventually the old code would go away, and I > think the same thing could be handled with views. (perhaps updateable > view's would be required... but still) > > I dont see a situation where an alias gives me something updateable views > dont. I'd vote we spend time on updateable views instead. > > And the types: > > table: maybe useful for live upgrade, but views, transactons and stored > procs do the same thing. > > views: just create the new view. Have both. when the old code goes away, > drop the old view. No need for an alias. > > sequence: why bother? Other than renaming during live upgrade, why would > you need an alias? > > index: again, why bother... code really should not ever be dependent on an > indexes name, correct? And transactions take care of live updates. > > So for the two use cases I've seen (live update, directing data flow (which > is kinda like a live update)) we already have tools that do it: > transactional ddl, views, schemas, stored procs, etc. Updateable views > might be the only thing missing. > > Also: I wonder if it might be a bad idea. The people coming from oracle > will see that PG supports synonyms, and they'll be all happy, but when they > get into the guts of their translate they find PG's synonyms are different > (and not compatible), and they have to throw it out and use schemas instead. > > On the other hand, now that I think about it, if its really easy, it might > help a few people out, then why not. On the other other hand, if its not so > easy, I think the time would be better spent on updatable views. > > So here is my new vote: > IF its easy and wont slow anything down: +1 > IF its hard: -1 (and spend the time on more important things) > Totally agreed.
> > -Andy > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general > -- // Dmitriy.