Re: c't Datenbank-Contest; PL/pgSQL,

From: Alvar Freude <alvar(at)a-blast(dot)org>
To: pgsql-de-allgemein <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: c't Datenbank-Contest; PL/pgSQL,
Date: 2005-10-21 14:24:51
Message-ID: 3BCEE66642A5D14C3762A9F7@Chefkoch.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hallo,

-- Enrico Weigelt <weigelt(at)metux(dot)de> wrote:

> idR. mit jeder neuen connection.
> Wenn Du perl dazu bringen kannst, bestimmte Variablen innerhalb eines
> Prozesses persistent zu halten (also zwischen verschiedenen Aufrufen),
> dann kannst Du dort einfach ein Flag setzen.

aber eben nur innerhalb eines Prozesses. Ganz allgemein: wenn Du 10 MB an
Daten hast und 100 Verbindungen ... ;-)

> Mit pl/php geht das wunderschön: globale Variablen sind persistent
> (weil ja die engine nur einmal pro Prozess gestartet wird) und damit
> hast Du einen backend-weiten globalen Speicher. Eignet sich zB.
> gut nett fürs caching.

das geht garantiert auch mit Perl; aber eben bei beiden nur für jeweils
einen Prozess. Große Datenmengen lassen sich damit nicht speichern.

Bei mod_perl mache ich das anders: beim Start (vor dem Fork!) wird eine
Datenstruktur aufgebaut und dann können nachher alle Prozesse darauf
zugreifen. Solange es nur lesend ist bleibt es geshared; bei
Schreibzugriffen greift das Copy-on-Write vom Betriebssystem.

Ciao
Alvar

--
** Alvar C.H. Freude, http://alvar.a-blast.org/
** http://www.wen-waehlen.de/
** http://odem.org/
** http://www.assoziations-blaster.de/

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Bernd Helmle 2005-10-21 15:12:19 Re: c't Datenbank-Contest; PL/pgSQL, PL/perl,
Previous Message Alvar Freude 2005-10-21 14:21:14 Re: c't Datenbank-Contest; PL/pgSQL,