Re: Temp rows - is it possible?
От | Bruce Momjian |
---|---|
Тема | Re: Temp rows - is it possible? |
Дата | |
Msg-id | 200311102043.hAAKhTK07080@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: Temp rows - is it possible? (Boris Popov <boris@procedium.com>) |
Ответы |
Re: Temp rows - is it possible?
|
Список | pgsql-general |
Boris Popov wrote: > Hello Bruce, > > Monday, November 10, 2003, 11:08:47 AM, you wrote: > > BM> Tom Lane wrote: > >> Bruce Momjian <pgman@candle.pha.pa.us> writes: > >> > Tom Lane wrote: > >> >> We recently decided we had to forbid foreign-key references from temp > >> >> tables to permanent tables because of this effect. I wonder whether > >> >> we won't end up forbidding temp tables as children of permanent tables > >> >> too. > >> > >> > Yep, I think we will have to do that. TODO item? > >> > >> Plan B would be to arrange for the planner to ignore temp tables of > >> other backends whenever it is searching for child tables. Then the > >> behavior would be predictable: you never see any rows inserted in other > >> people's temp child tables (and cannot update or delete 'em, either). > >> I'm not sure if this is the behavior the OP wanted, but it seems at > >> least marginally useful. > > BM> Agreed. It seems wrong that a session should ever see other people's > BM> temp tables as children. > > So going back to the original problem, do you think there should be a > way to implement temp rows in tables visible to everyone? I worked > around the original problem I had by using custom entries in > pg_listener (listen "identifier") and that works well because they > disappear as soon as backend detects the disconnect, but I'd really > like to be able to do exact same thing outside of pg_listener and be > able to reference that table from other permanent tables, which is > currently impossible with pg_listener as its a part of system catalog. We have basically coupled "rows only exist during your session" and "rows only visible to your session". I don't see much demand in decoupling that, and I don't know a good way to do in application code either. Sorry. In your requested setup, once your session exists, all the session rows disappear for everyone --- that seems to be a strange application requirement. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
В списке pgsql-general по дате отправления: