![]() ![]() If Amazon Redshift determines that a new distribution style or key will improve the performance of queries, In this case, Amazon Redshift makes no changes to the table. This clause only supports altering the size of a VARCHAR data type.Ī small table with DISTSTYLE ALL is converted to AUTO(ALL).Ī small table with DISTSTYLE EVEN is converted to AUTO(ALL).Ī small table with DISTSTYLE KEY is converted to AUTO(ALL).Ī large table with DISTSTYLE ALL is converted to AUTO(EVEN).Ī large table with DISTSTYLE EVEN is converted to AUTO(EVEN).Ī large table with DISTSTYLE KEY is converted to AUTO(KEY) and the DISTKEY is preserved. ALTER COLUMN column_name TYPEĪ clause that changes the size of a column defined as a VARCHAR data type. Table name beginning with '#' indicates a temporary table. You can't rename a permanent table to a name that begins with '#'. ![]() The maximum table name length is 127 bytes OWNER TO new_ownerĪ clause that changes the owner of the table (or view) to theĪ clause that renames a table (or view) to the value specified in CASCADE is an option for DROP CONSTRAINT. CASCADEĪ clause that removes the specified constraint and anything dependent on RESTRICT is an optionįor DROP CONSTRAINT. To reduce the time to run the ALTER TABLE command, you can combine some clauses ofĪmazon Redshift supports the following combinations of the ALTER TABLE clauses:įrom information_schema.table_constraints RESTRICTĪ clause that removes only the specified constraint. | DROP PARTITION ( partition_column= partition_value ) | ALTER DISTSTYLE KEY DISTKEY column_name | ALTER COLUMN column_name ENCODE encode_type. | ALTER COLUMN column_name ENCODE encode_type, | ALTER COLUMN column_name ENCODE new_encode_type | ALTER COLUMN column_name TYPE updated_varchar_data_type_size I am in no way saying this a nice and clever solution - but it was the first attempt of many that worked for me.Table owner with the USAGE privilege on the schema If you know for sure you can "pause" all write activity, you can save some time by loading all data into my_table_temp and perform a TRUNCATE in step 3 instead. Reason for doing it up until the current month is that my table is constantly being copied into, and it felt like the safest way to not lose any data. Repeat step 2 but from my_table_temp into my_table.Alter my_table distkey to the desired key. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |