Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id B015264FCFD for ; Mon, 18 Aug 2008 08:26:30 -0300 (ADT) Received: from postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 10207-09 for ; Mon, 18 Aug 2008 08:26:23 -0300 (ADT) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.229]) by postgresql.org (Postfix) with ESMTP id AF7A864FCBF for ; Mon, 18 Aug 2008 08:26:27 -0300 (ADT) Received: by wr-out-0506.google.com with SMTP id c49so2031086wra.19 for ; Mon, 18 Aug 2008 04:26:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type:references; bh=kAleWg053l50+0O0PJnpTK/w7Syxfz9a0N1Qpaab1pQ=; b=L+Qp6a+YvfjySZFR6q+DrdskiKAiI3bDp+YdIMrnw39umEftwTfZQl3reBJnOcy4Yb MXUdvnVe4aLjo5GV828dj+tJfHfJAPc5MWbvO5261fXh+J0rN5Se87T77ezhLAmq/zl9 0cjmBqtXtEZqoXyR6Y9iCeO0KkgAxLTMboZ3Y= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:references; b=ekkJfdXpb0vCWlVZY8AYN0MRbsRdI1L1SWmy6j6DK/BVOEUBB8veyA/7ZMHvMEAZ8o QboVw2TdwwKLLDyPOAEm/+W9023J9tAnArd5smOAEM8DIEBxXLBD1JsL7VuEkwyzOyBN d1pF1fWAz3Vr3sgcLxIOnSRR4f0+RgCxgDBcs= Received: by 10.90.65.5 with SMTP id n5mr789705aga.44.1219058786474; Mon, 18 Aug 2008 04:26:26 -0700 (PDT) Received: by 10.90.114.20 with HTTP; Mon, 18 Aug 2008 04:26:26 -0700 (PDT) Message-ID: <407fa4640808180426q26a41cv817deb91dbbcd312@mail.gmail.com> Date: Mon, 18 Aug 2008 12:26:26 +0100 From: "Michael Nacos" To: "Greg Smith" , bruce@momjian.us Subject: Re: Overhauling GUCS Cc: pgsql-hackers@postgresql.org In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_22374_10211890.1219058786466" References: <7473.1212625397@sss.pgh.pa.us> <200807161530.m6GFUNY28751@momjian.us> <407fa4640808130738s3537ca45j22322a5eb70f9173@mail.gmail.com> X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.001 tagged_above=0 required=5 tests=HTML_MESSAGE=0.001 X-Spam-Level: X-Archive-Number: 200808/722 X-Sequence-Number: 122476 ------=_Part_22374_10211890.1219058786466 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline What I'm interested in is auto-tuning, not necessarily overhauling GUCS, which happens to be the subject of this thread :-) Having done a SELECT * FROM pg_settings, all the information you need seems to be there... Maybe I'm being over-simplistic here, but the important bit is knowing how you should tune stuff - and this is what I'm hoping to learn through this process. Now, you could probably sidestep UI and GUCS concerns by moving the auto-tuning process inside the database. You don't need fancy GUIs for guessing configuration parameters, and if you can already do that, coming up with a GUI should be pretty straightforward. For example, I see no reason why you couldn't capture the logic of tuning in a couple of PL/Python functions to look up usage stats, size of indices etc. PL/Python being an "untrusted" language, you could even write a new postgresql.conf file to disk, with the suggested alterations. Cheap, quick and cheerful! Perhaps the auto-tuning conversation should take place in a separate thread, how do you feel about changing the subject line? The most insteresting bit is discussing and testing tuning strategies. This, of course, is related to the [admin] and [perform] side of things, but there is also a development dimension. As soon as there is a tuning strategy published, a number of tools will certainly follow. Michael Yes, there's a grand plan for a super-wizard that queries the database for > size, index, and statistics information for figure out what to do; I've been > beating that drum for a while now. Unfortunately, the actual implementation > is blocked behind the dreadfully boring work of sorting out how to organize > and manage the GUC information a bit better, and the moderately boring work > of building a UI for modifying things. If you were hoping to work on the > sexy autotuning parts without doing some of the grunt work, let me know if > you can figure out how so I can follow you. > > ------=_Part_22374_10211890.1219058786466 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline
What I'm interested in is auto-tuning, not necessarily overhauling GUCS, which happens to be the subject of this thread :-)
Having done a SELECT * FROM pg_settings, all the information you need seems to be there...
Maybe I'm being over-simplistic here, but the important bit is knowing how you should tune stuff - and this is what I'm hoping to learn through this process.
Now, you could probably sidestep UI and GUCS concerns by moving the auto-tuning process inside the database. You don't need fancy GUIs for guessing configuration parameters, and if you can already do that, coming up with a GUI should be pretty straightforward.
For example, I see no reason why you couldn't capture the logic of tuning in a couple of PL/Python functions to look up usage stats, size of indices etc. PL/Python being an "untrusted" language, you could even write a new postgresql.conf file to disk, with the suggested alterations. Cheap, quick and cheerful!

Perhaps the auto-tuning conversation should take place in a separate thread, how do you feel about changing the subject line? The most insteresting bit is discussing and testing tuning strategies. This, of course, is related to the [admin] and [perform] side of things, but there is also a development dimension. As soon as there is a tuning strategy published, a number of tools will certainly follow.

Michael

Yes, there's a grand plan for a super-wizard that queries the database for size, index, and statistics information for figure out what to do; I've been beating that drum for a while now.  Unfortunately, the actual implementation is blocked behind the dreadfully boring work of sorting out how to organize and manage the GUC information a bit better, and the moderately boring work of building a UI for modifying things.  If you were hoping to work on the sexy autotuning parts without doing some of the grunt work, let me know if you can figure out how so I can follow you.


------=_Part_22374_10211890.1219058786466--