Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id D9185B5DBF6 for ; Wed, 17 Aug 2011 21:02:27 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 75961-07 for ; Thu, 18 Aug 2011 00:02:21 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-vx0-f174.google.com (mail-vx0-f174.google.com [209.85.220.174]) by mail.postgresql.org (Postfix) with ESMTP id 27D16B5D803 for ; Wed, 17 Aug 2011 21:02:19 -0300 (ADT) Received: by vxi9 with SMTP id 9so1321496vxi.19 for ; Wed, 17 Aug 2011 17:02:19 -0700 (PDT) Received: by 10.52.188.2 with SMTP id fw2mr84176vdc.17.1313625739325; Wed, 17 Aug 2011 17:02:19 -0700 (PDT) Received: from [10.1.1.8] (124-169-181-228.dyn.iinet.net.au [124.169.181.228]) by mx.google.com with ESMTPS id h4sm1025160vcx.45.2011.08.17.17.02.16 (version=SSLv3 cipher=OTHER); Wed, 17 Aug 2011 17:02:18 -0700 (PDT) Message-ID: <4E4C5683.1090003@ringerc.id.au> Date: Thu, 18 Aug 2011 08:02:11 +0800 From: Craig Ringer User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0 MIME-Version: 1.0 To: John R Pierce CC: pgsql-general@postgresql.org Subject: Re: Using Postgresql as application server References: <4E46D0D7.3090700@officenet.no> <4E49B47E.8020401@ringerc.id.au> <4E4BEDBE.7050700@hogranch.com> In-Reply-To: <4E4BEDBE.7050700@hogranch.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.9 tagged_above=-5 required=5 tests=BAYES_00=-1.9 X-Spam-Level: X-Archive-Number: 201108/573 X-Sequence-Number: 178855 On 18/08/2011 12:35 AM, John R Pierce wrote: > On 08/17/11 7:40 AM, Merlin Moncure wrote: >> GRANT/REVOKE only constrain read/write privileges to a database. > > at a table level, and even distinguishing between INSERT (writing new > data) and UPDATING (updating existing data). Column level, actually :-) and they can control read access as well as write access. Further control for writes can be applied using triggers that RAISE EXCEPTION when they don't like something. -- Craig Ringer