有没有办法在Amazon Redshift(或Postgres,因为它基于它)中更改列排序?或者也许在特定位置添加一列?
在mysql中你可以做到:
ALTER TABLE MY_TABLE
ADD COLUMN {NEW_COL} AFTER {EXISTING_COL}
Run Code Online (Sandbox Code Playgroud)
但这在Redshift中不起作用.有任何想法吗?
从您的评论中,您实际需要的是能够COPY从具有特定顺序列的文件到表中.
(column1 [,column2,...])
指定可选列列表以将数据字段加载到特定列中.这些列可以在COPY语句中以任何顺序排列,但是当从平面文件(例如在Amazon S3存储桶中)加载时,它们的顺序必须与源数据的顺序匹配.[...]如果未指定列列表,则该命令的行为就像指定了完整的有序列列表一样.
因此,您只需在COPY语句中指定它们,而不是重新排序表中的列,就像在文档中的一些示例中一样:
copy venue_new(venueid, venuename, venuecity, venuestate)
from 's3://mybucket/data/venue_noseats.txt'
credentials 'aws_access_key_id=<access-key-id>;aws_secret_access_key=<secret-access-key>'
delimiter '|';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10308 次 |
| 最近记录: |