share info between backends

Started by Jaime Casanovaabout 19 years ago7 messages
#1Jaime Casanova
systemguards@gmail.com

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

#2Martijn van Oosterhout
kleptog@svana.org
In reply to: Jaime Casanova (#1)
Re: share info between backends

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/

Show quoted text

From each according to his ability. To each according to his ability to litigate.

#3Jaime Casanova
systemguards@gmail.com
In reply to: Martijn van Oosterhout (#2)
Re: share info between backends

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

#4Andrew Dunstan
andrew@dunslane.net
In reply to: Jaime Casanova (#3)
Re: share info between backends

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

#5Jaime Casanova
systemguards@gmail.com
In reply to: Andrew Dunstan (#4)
Re: share info between backends

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

#6Zeugswetter Andreas ADI SD
ZeugswetterA@spardat.at
In reply to: Jaime Casanova (#5)
Re: share info between backends

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

#7Andrew Dunstan
andrew@dunslane.net
In reply to: Zeugswetter Andreas ADI SD (#6)
Re: share info between backends

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