Обсуждение: share info between backends

Поиск
Список
Период
Сортировка

share info between backends

От
"Jaime Casanova"
Дата:
Hi,

i'm trying to share some info between backends but i cannot figure how
to do it...
i was reading bgwriter.c and autovacuum.c hoping there is something
that can show me the way to go...

can you, please, guide me on this?

-- 
regards,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."                                      Richard Cook


Re: share info between backends

От
Martijn van Oosterhout
Дата:
On Thu, Jan 11, 2007 at 12:58:01AM -0500, Jaime Casanova wrote:
> Hi,
>
> i'm trying to share some info between backends but i cannot figure how
> to do it...
> i was reading bgwriter.c and autovacuum.c hoping there is something
> that can show me the way to go...

Well, there's a shared memory block, but getting access to it is not
easy. Using a table may to easier, but you'll need to provide more
details if you want more help.

Have a ncie day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

Re: share info between backends

От
"Jaime Casanova"
Дата:
On 1/11/07, Martijn van Oosterhout <kleptog@svana.org> wrote:
> On Thu, Jan 11, 2007 at 12:58:01AM -0500, Jaime Casanova wrote:
> > Hi,
> >
> > i'm trying to share some info between backends but i cannot figure how
> > to do it...
> > i was reading bgwriter.c and autovacuum.c hoping there is something
> > that can show me the way to go...
>
> Well, there's a shared memory block, but getting access to it is not
> easy. Using a table may to easier, but you'll need to provide more
> details if you want more help.
>

i'm trying to fix a problem related to the patch Albert sent in
october (Tablespace for temporary objects and sort files)
http://archives.postgresql.org/pgsql-patches/2006-10/msg00141.php
http://archives.postgresql.org/pgsql-patches/2007-01/msg00063.php

after reviewing this i notice this will not use different tablespaces
in the case of having various connections all with just one temp
table:
http://archives.postgresql.org/pgsql-patches/2007-01/msg00188.php

what i'm trying to do it is share what's the next_temp_tablespace to use...
the other way to do this is as you say using tables, but i don't think
this is a good idea in this case...

comments?

-- 
regards,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."                                      Richard Cook


Re: share info between backends

От
"Andrew Dunstan"
Дата:
Jaime Casanova wrote:
>
> i'm trying to fix a problem related to the patch Albert sent in
> october (Tablespace for temporary objects and sort files)
> http://archives.postgresql.org/pgsql-patches/2006-10/msg00141.php
> http://archives.postgresql.org/pgsql-patches/2007-01/msg00063.php
>
> after reviewing this i notice this will not use different tablespaces
> in the case of having various connections all with just one temp
> table:
> http://archives.postgresql.org/pgsql-patches/2007-01/msg00188.php
>
> what i'm trying to do it is share what's the next_temp_tablespace to
> use...
> the other way to do this is as you say using tables, but i don't think
> this is a good idea in this case...
>
> comments?
>

Why not make it probabilistic by using, say, MyProcPid % n where n is the
number of tablespaces? Then you don't need anything shared.

cheers

andrew



Re: share info between backends

От
"Jaime Casanova"
Дата:
On 1/11/07, Andrew Dunstan <andrew@dunslane.net> wrote:
> Jaime Casanova wrote:
> >
> > i'm trying to fix a problem related to the patch Albert sent in
> > october (Tablespace for temporary objects and sort files)
> > http://archives.postgresql.org/pgsql-patches/2006-10/msg00141.php
> > http://archives.postgresql.org/pgsql-patches/2007-01/msg00063.php
> >
> > after reviewing this i notice this will not use different tablespaces
> > in the case of having various connections all with just one temp
> > table:
> > http://archives.postgresql.org/pgsql-patches/2007-01/msg00188.php
> >
> > what i'm trying to do it is share what's the next_temp_tablespace to
> > use...
> > the other way to do this is as you say using tables, but i don't think
> > this is a good idea in this case...
> >
> > comments?
> >
>
> Why not make it probabilistic by using, say, MyProcPid % n where n is the
> number of tablespaces? Then you don't need anything shared.
>

mmm... is not great to try to kill flies with tanks? ;)
thanks for the idea, i will try it

-- 
regards,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."                                      Richard Cook


Re: share info between backends

От
"Zeugswetter Andreas ADI SD"
Дата:
> > > comments?
> >
> > Why not make it probabilistic by using, say, MyProcPid % n where n
is the
> > number of tablespaces? Then you don't need anything shared.

You still want a (local) counter, so that temp files for one session are
spread out.

Andreas


Re: share info between backends

От
"Andrew Dunstan"
Дата:
Zeugswetter Andreas ADI SD wrote:
>
>> > > comments?
>> >
>> > Why not make it probabilistic by using, say, MyProcPid % n where n
> is the
>> > number of tablespaces? Then you don't need anything shared.
>
> You still want a (local) counter, so that temp files for one session are
> spread out.
>


Yes, but this can be used as a seed so not all backends start with the
same counter value.

cheers

andrew