Re: Fast AT ADD COLUMN with DEFAULTs
От | Jim Nasby |
---|---|
Тема | Re: Fast AT ADD COLUMN with DEFAULTs |
Дата | |
Msg-id | 15cce493-37e1-88ad-e02a-8ed9bff22a34@BlueTreble.com обсуждение исходный текст |
Ответ на | Re: Fast AT ADD COLUMN with DEFAULTs (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Fast AT ADD COLUMN with DEFAULTs
|
Список | pgsql-hackers |
On 10/6/16 11:01 AM, Tom Lane wrote: > Something based on missing_value/absent_value could work for me too. > If we name it something involving "default", that definitely increases > the possibility for confusion with the regular user-settable default. > > Also worth thinking about here is that the regular default expression > affects what will be put into future inserted rows, whereas this thing > affects the interpretation of past rows. So it's really quite a different > animal. That's kind of leading me away from calling it creation_default. There's actually another use case here that's potentially extremely valuable for warehousing and other "big data": compact representation of a default value. The idea here is that if you have a specific value for a field that makes up a very large portion of your data, you'd really like to be able to represent that value *in each row* with something like a bit (such as we currently do for NULLs). What I'd expect to see in the real world (once users figure this hack out) would be: CREATE TABLE ...( ... -- skip field_a so we can handle all it's common values ); INSERT INTO ... SELECT ... WHERE field_a IS NOT DISTINCT FROM 'really common value' ; ALTER TABLE ADD field_a ... NOT NULL DEFAULT 'really common value' ; -- load rest of the data That would have the effect of storing all those really common values with a single bit. What we'd ultimately want is some kind of catalog versioning so that we knew what was in place when each tuple was created; that would allow for changing these things over time without forcing a full rewrite. -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com 855-TREBLE2 (855-873-2532) mobile: 512-569-9461
В списке pgsql-hackers по дате отправления: