Please take this survey to help us learn more about how you use third party tools. Your input is greatly appreciated!


I want to add a column to a table in a specific position.
For example:

table : my_table (
a int,
c varchar,
d timestamp

I want to add column b between a and c. Is it possible?


  • I don't think this is possible because the sql command does not allow new column position specification. Internally, since a projection sort order can be affected by adding a column high in the projection sort order, it can trigger a rebuild of the entire table.

    However, you could build a new table with full flexibility ( and column order desired) and swap the 2 tables to achieve the desired  outcome.
  • I agree with Colin.
    If it too much painful to recreate a table(projections), as work around you can use in VIEWs. Define right column order in view, while to base table column will be added to end of column's list.

    BTW: "add column" (no matter a position) will require to refresh table projections, so recreating a table or adding column + creating VIEW will cost same time "price".

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file

Can't find what you're looking for? Search the Vertica Documentation, Knowledge Base, or Blog for more information.