If you need user-accessible shared variables, you could take a look at how Veil http://pgfoundry.org/projects/veil/ achieves this.
Veil provides a limited number of shared variables with an API for SQL access. The variables may only be set during initialisation or reset to avoid system state changing part-way through a transaction. Veil goes to considerable trouble to deal with this. If this is not a concern for you, you may be able to do something simpler but you would have to perform extra locking on assignment. Feel free to take whatever you can from Veil. __ Marc > Date: Sun, 16 Oct 2005 18:54:21 -0500 (CDT) > From: <[EMAIL PROTECTED]> > To: [EMAIL PROTECTED], [EMAIL PROTECTED] > Cc: "pgsql-general@postgresql.org" <pgsql-general@postgresql.org> > Subject: Re: dynamic loading of .so > Message-ID: <[EMAIL PROTECTED]> > > > are there any way to make them global for all the instances? > > On 10/14/2005, "Douglas McNaught" <[EMAIL PROTECTED]> wrote: > > >TJ O'Donnell <[EMAIL PROTECTED]> writes: > > > >> I have begun to use some static variables in my c-language > >> functions to maintain state (3rd party licensing issues) during > >> the course of a session (postgres process, spawned by postmaster). > >> These are declared static outside the scope of any function. > >> (is global the correct term anymore?) > >> When I use dynamic loading of my .so, > >> each session is independent, with its own static variables. > >> Will the same be true if I were to load the .so once when > >> the database starts up? Or will there be just one set of > >> static variables for all sessions? > > > >Each backend process has its own memory space, so the variables will > >still be independent. > > > >-Doug
signature.asc
Description: This is a digitally signed message part