pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: stan <stanb@panix.com>
To: Adrian Klaver <adrian.klaver@aklaver.com>
Cc: pgsql-general@lists.postgresql.org
Subject: Re: Detecting which columns a query will modify in a function called by a trigger
Date: Mon, 2 Mar 2020 15:28:29 -0500
Message-ID: <20200302202829.GA19161@panix.com> (raw)
In-Reply-To: <30c3c06e-61fa-3210-666d-1696af320a75@aklaver.com>
References: <20200302185904.GA6528@panix.com>
	<30c3c06e-61fa-3210-666d-1696af320a75@aklaver.com>

On Mon, Mar 02, 2020 at 11:02:54AM -0800, Adrian Klaver wrote:
> On 3/2/20 10:59 AM, stan wrote:
> > I need to implement a fairly fine grained security model. Probably a bit
> > finer that I can do with the standard ownership functionality.
> > 
> > My thinking on this is to create a table that contains the users, and a
> > "permission bit" for each function that they may want to do, vis a vi
> > altering an existing row,or rows, or inserting new rows.
> > 
> > Looks relatively straight forward, if fairly time consuming to do. But I
> > would need to know which column(s) a given query would add..alter from the
> > function to implement this via a trigger. looks like I see most of what I
> > need t do this in the docs, but I can't quite figure out if I can get this
> > down to what column(s) a given trigger will modify. Is this possible?
> 
> Before you get too far into this I would look at RLS:
> 
> https://www.postgresql.org/docs/12/ddl-rowsecurity.html
> 
Thanks for pointing that out.

Using that functionality was my original plan, but let me describe why I do not think it
can do what I need. This may be an indication of my weakness in design
though.

Envision a table with a good many columns. This table represents the "life
history" of a part on a project. Some of the columns need to be
created/modified by the engineer. Some need to be created/modified by the
purchasing agent, some of the columns need to be created by the receiving
department, some of the columns need to be created/modified by the accounts
payable department.

Make sense?

-- 
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
						-- Benjamin Franklin





view thread (17+ messages)  latest in thread

Message-ID: <20200302202829.GA19161@panix.com>
Permalink:  ../20200302202829.GA19161@panix.com/
Also on:    postgresql.org/message-id/20200302202829.GA19161@panix.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: stanb@panix.com, adrian.klaver@aklaver.com, pgsql-general@lists.postgresql.org
  Subject: Re: Detecting which columns a query will modify in a function called by a trigger
  In-Reply-To: <20200302202829.GA19161@panix.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox