Re: ALTER TABLE ADD COLUMN fast default
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Cc: Andres Freund <andres@anarazel.de>,
David Rowley <david.rowley@2ndquadrant.com>,
Thomas Munro <thomas.munro@enterprisedb.com>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-03-28T23:49:59Z
Lists: pgsql-hackers
Andrew Dunstan <andrew.dunstan@2ndquadrant.com> writes: > On Wed, Mar 28, 2018 at 5:30 PM, Andres Freund <andres@anarazel.de> wrote: >> + /* >> + * Missing value for added columns. This is a one element array which lets >> + * us store a value of the attribute type here. >> + */ >> + anyarray attmissingval BKI_DEFAULT(_null_); >> #endif >> } FormData_pg_attribute; >> >> Still think this is a bad location, and it'll reduce cache hit ratio for >> catalog lookups. > As I think I mentioned before, this was discussed previously and as I > understood it this was the consensus location for it. I don't have a problem with putting that in pg_attribute (and I certainly agree with not putting it in pg_attrdef). But "anyarray" seems like a damn strange, and bulky, choice. Why not just make it a bytea holding the bits for the value, nothing more? regards, tom lane
Commits
-
Clean up treatment of missing default and CHECK-constraint records.
- 091e22b2e673 14.0 landed
-
Fast ALTER TABLE ADD COLUMN with a non-NULL default
- 16828d5c0273 11.0 landed
-
Fix application of identity values in some cases
- 533c5d8bddf0 11.0 cited