Re: partitioned tables and contrib/sepgsql - Mailing list pgsql-hackers

From Mike Palmiotto
Subject Re: partitioned tables and contrib/sepgsql
Date
Msg-id CAMN686HcT+Sc37rP6eyyfV-GU13p=XLL=R3zXzxbuwwXEj0V5g@mail.gmail.com
Whole thread Raw
In response to [HACKERS] partitioned tables and contrib/sepgsql  (Stephen Frost <sfrost@snowman.net>)
Responses Re: partitioned tables and contrib/sepgsql  (Robert Haas <robertmhaas@gmail.com>)
Re: partitioned tables and contrib/sepgsql  (Mike Palmiotto <mike.palmiotto@crunchydata.com>)
List pgsql-hackers
On Mon, Mar 27, 2017 at 12:09 PM, Mike Palmiotto
<mike.palmiotto@crunchydata.com> wrote:
> On Mon, Mar 27, 2017 at 11:46 AM, Robert Haas <robertmhaas@gmail.com> wrote:
>> <snip>
>>  Note that sepgsql hasn't been updated to work with RLS yet, either,
>> but we didn't regard that as an open item for RLS, or if we did the
>> resolution was just to document it.  I am not opposed to giving a
>> little more time to get this straightened out, but if a patch doesn't
>> show up fairly soon then I think we should just document that sepgsql
>> doesn't support partitioned tables in v10.  sepgsql has a fairly
>> lengthy list of implementation restrictions already, so one more is
>> not going to kill anybody -- or if it will then that person should
>> produce a patch soon.
>
> Okay, I'll make sure I get something fleshed out today or tomorrow.

Apologies for the delay. I was waffling over whether to reference
PartitionedRelationId in sepgsql, but ended up deciding to just handle
RELKIND_PARTITIONED_TABLE and treat the classOid as
RelationRelationId. Seeing as there is a relid in pg_class which
corresponds to the partitioned table, this chosen route seemed
acceptable.

Here is a demonstration of the partitioned table working with sepgsql hooks:
https://gist.github.com/anonymous/b10f476a95ae9cdd39b83ef872d4b1e6

Attached you will find two patches, which were rebased on master as of
156d388 (applied with `git am --revert [patch file]`). The first gets
rid of some pesky compiler warnings and the second implements the
sepgsql handling of partitioned tables.

Thanks,

-- 
Mike Palmiotto
Software Engineer
Crunchy Data Solutions
https://crunchydata.com

Attachment

pgsql-hackers by date:

Previous
From: Petr Jelinek
Date:
Subject: Re: Somebody has not thought through subscription lockingconsiderations
Next
From: Robert Haas
Date:
Subject: bumping HASH_VERSION to 3