Reg Me Please <regmeplease@gmail.com> writes:
> In order to speed up the COPY ... FROM ... command, I've
> disabled everything (primary key, not null, references, default and indexes)
> in the table definition before doing the actual COPY.
> Later I can restore them with ALTER TABLE ... and CREATE INDEX ...
> My question is: is all this necessary, or could I save some of them (maybe
> just the DEFAULT) with no speed cost?
Indexes and foreign key references are the only things that benefit
from this treatment. DEFAULTs are irrelevant to a COPY, and simple
constraints (NOT NULL and CHECK) are not any faster to verify later
--- which makes dropping them slower, since you'll need an additional
table scan to verify them when they're re-added.
regards, tom lane