On Tue, Sep 03, 2024 at 10:33:02AM -0500, Nathan Bossart wrote: > This works correctly for CREATE TABLE, but ALTER TABLE still succeeds. > Interestingly, it doesn't seem to actually change relpersistence for > partitioned tables. I think we might need to adjust > ATPrepChangePersistence().
Adjusting ATPrepChangePersistence() looks incorrect to me seeing that we have all the machinery in ATSimplePermissions() at our disposal, and that this routine decides that ATT_TABLE should map to both RELKIND_RELATION and RELKIND_PARTITIONED_TABLE. How about inventing a new ATT_PARTITIONED_TABLE and make a clean split between both relkinds? I'd guess that blocking both SET LOGGED and UNLOGGED for partitioned tables is the best move, even if it is possible to block only one or the other, of course. -- Michael
signature.asc
Description: PGP signature