Thread: Preserving Cluster-Wise Data
Hi, I was taking a look at _SHARED variable implementation of different PLs and it looks like every PL implements its own ad-hoc method to preserve cluster-wise data. Wouldn't it be beneficial to have a cluster-wise table (sytem catalog?) which is accessible by any procedure with required (superuser?) privileges? With such a table, procedures (and PLs) will be able to preserve their state data natively without need of any ad-hoc method and because of we're using a just yet another plain table, all of the MVCC related stuff will be handled by PostgreSQL easily. Regards.
Volkan YAZICI wrote: > Hi, > > I was taking a look at _SHARED variable implementation of different > PLs and it looks like every PL implements its own ad-hoc method to > preserve cluster-wise data. Wouldn't it be beneficial to have a > cluster-wise table (sytem catalog?) which is accessible by any > procedure with required (superuser?) privileges? With such a table, > procedures (and PLs) will be able to preserve their state data > natively without need of any ad-hoc method and because of we're using > a just yet another plain table, all of the MVCC related stuff will be > handled by PostgreSQL easily. > > The data might well be PL and session specific, though. e.g. a perl function ref would be both. I don't know what state we would want to preserve across sessions anyway. Let's see a use case that a plain user level table wouldn't serve. cheers andrew
On Dec 05 01:06, Andrew Dunstan wrote: > The data might well be PL and session specific, though. e.g. a perl > function ref would be both. > > I don't know what state we would want to preserve across sessions anyway. > > Let's see a use case that a plain user level table wouldn't serve. For instance, with such a cluster-wise table, PLs will be able to implement a _SHARED variable easily. And the reason that a plain user level table wouldn't serve the same functionality is that, it's database-wide, not cluster-wise... Umm... You look like right. PLs are also database wide, why bothering with cluster wise stuff. Sorry for flooding the ml. I thought a central dedicated table would suit better than a plain table. Regards.
Volkan YAZICI <yazicivo@ttnet.net.tr> writes: > I was taking a look at _SHARED variable implementation of different > PLs and it looks like every PL implements its own ad-hoc method to > preserve cluster-wise data. Huh? _SHARED is not cluster-wide, only session-wide. regards, tom lane
On Dec 05 01:27, Tom Lane wrote: > Huh? _SHARED is not cluster-wide, only session-wide. In PL/perl, yep, it's session-wide. But as far as I remember some of the pl/j[ava] stuff using some kind of communication (RPC?) method to get in touch with the main JVM which enables global database-wide (cluster-wise?) variables. (I'm not sure ATM, I should re-check it.) Anyway, as Andrew pointed out, plain tables serve as well for my wish. Regards.