I want to add a NOT NULL column to a table in RedShift. To do this, I specify a default so that existing rows know what to put in the new column. But I don't want a default on this column - if no data is supplied in my COPY command, I want it to fail. In Postgres I could do this:
ALTER TABLE my_table ALTER COLUMN my_column DROP DEFAULT;
However Redshift gives me an error saying ERROR: ALTER COLUMN SET/DROP DEFAULT is not supported
.
What is the correct way to add a non-null column, update existing rows, and not have a default?
UPDATE: It seems Redshift won't allow any ALTER COLUMN statements. Does that make this impossible?