Received: from localhost (maia-1.hub.org [200.46.204.191]) by postgresql.org (Postfix) with ESMTP id 8BAC19FB725 for ; Wed, 4 Apr 2007 08:51:59 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.191]) (amavisd-maia, port 10024) with ESMTP id 00107-05 for ; Wed, 4 Apr 2007 08:51:50 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 Received: from fafnir.androme.com (fafnir.androme.com [62.58.96.158]) by postgresql.org (Postfix) with ESMTP id 39CE29FB478 for ; Wed, 4 Apr 2007 08:51:51 -0300 (ADT) Received: by fafnir.androme.com (Postfix, from userid 1003) id C77C8B9B21E; Wed, 4 Apr 2007 13:51:49 +0200 (CEST) Message-ID: <46139132.8000807@andromeiberica.com> Date: Wed, 04 Apr 2007 13:51:14 +0200 From: Arnau Reply-To: arnaulist@andromeiberica.com User-Agent: Thunderbird 1.5.0.10 (Windows/20070221) MIME-Version: 1.0 To: Ansgar -59cobalt- Wiechers CC: pgsql-performance@postgresql.org Subject: Re: Equivalents in PostgreSQL of MySQL's "ENGINE=MEMORY" "MAX_ROWS=1000" References: <4612A421.4060808@andromeiberica.com> <4612A57B.2030601@agliodbs.com> <461366E8.90906@andromeiberica.com> <20070404110832.GA1244@mail.planetcobalt.net> In-Reply-To: <20070404110832.GA1244@mail.planetcobalt.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200704/56 X-Sequence-Number: 23933 Hi Ansgar , > On 2007-04-04 Arnau wrote: >> Josh Berkus wrote: >>>> Is there anything similar in PostgreSQL? The idea behind this is how >>>> I can do in PostgreSQL to have tables where I can query on them very >>>> often something like every few seconds and get results very fast >>>> without overloading the postmaster. >>> If you're only querying the tables every few seconds, then you don't >>> really need to worry about performance. >> Well, the idea behind this is to have events tables, and a monitoring >> system polls that table every few seconds. I'd like to have a kind of >> FIFO stack. From "the events producer" point of view he'll be pushing >> rows into that table, when it's filled the oldest one will be removed >> to leave room to the newest one. From "the consumer" point of view >> he'll read all the contents of that table. >> >> So I'll not only querying the tables, I'll need to also modify that >> tables. > > Ummm... this may be a dumb question, but why are you trying to implement > something like a FIFO with an RDBMS in the first place? Wouldn't it be > much easier to implement something like that as a separate program or > script? Well, the idea is have a table with a maximum number of rows. As the number of queries over this table will be very high, I'd like to keep it as small as possible and without indexes and so on that could make the update slower. Maybe it's the moment to change my question, is there any trick to get a table that can be modified/queried very fast and with the minimum of overhead? This table will have several queries every second and I'd like to do this as fast as possible Thanks -- Arnau