Re: [PERFORM] BUG #4919: CREATE USER command slows down system performance

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, toruvinn <toruvinn(at)lain(dot)pl>, pgsql-bugs(at)postgresql(dot)org, pgsql-performance(at)postgresql(dot)org
Subject: Re: [PERFORM] BUG #4919: CREATE USER command slows down system performance
Date: 2009-08-08 19:15:39
Message-ID: 27532.1249758939@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-performance

Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Tom Lane wrote:
>> So on third thought, Alvaro's right: the only real solution here is to
>> adopt a more efficient representation of the flat files. Maybe some
>> sort of simple hashtable arrangement would work. (Rendering them not so
>> flat anymore...)

> As long as there's a simple API, there should be no problem.

> (Except that it would be nice to be able to build the file incrementally
> ... If we have to write out a million lines each time a millionth user
> is created, there will still be a bottleneck at CREATE USER time.)

If we allow the requirements to creep on this, we'll soon find ourselves
either using or reinventing BDB for the flatfiles. Ick.

[ thinks for awhile... ]

In some sense this is a bootstrap problem: what does it take to get to
the point of being able to read pg_database and its indexes? That is
necessarily not dependent on the particular database we want to join.
Maybe we could solve it by having the relcache write a "global" cache
file containing only entries for the global tables, and load that before
we have identified the database we want to join (after which, we'll load
another cache file for the local entries). It would doubtless take some
rearrangement of the backend startup sequence, but it doesn't seem
obviously impossible.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Alvaro Herrera 2009-08-08 19:20:39 Re: [PERFORM] BUG #4919: CREATE USER command slows down system performance
Previous Message Alvaro Herrera 2009-08-08 18:59:29 Re: [PERFORM] BUG #4919: CREATE USER command slows down system performance

Browse pgsql-performance by date

  From Date Subject
Next Message Alvaro Herrera 2009-08-08 19:20:39 Re: [PERFORM] BUG #4919: CREATE USER command slows down system performance
Previous Message Alvaro Herrera 2009-08-08 18:59:29 Re: [PERFORM] BUG #4919: CREATE USER command slows down system performance