小编Gen*_*sis的帖子

Amazon Redshift-Backup&Restore最佳实践?

我们在Redshift中有一组表,其中包含IDENTITY属性的列,用于生成序列.在测试阶段,需要进行备份和恢复,这是每个测试周期的重复活动.我们按照以下流程进行备份然后恢复并面临以下问题:

  1. 传统方式:使用CREATE TABLE XYZ_BKP AS SELECT*FROM XYZ在另一个备份模式中创建备份表.但这样做我们失去了IDENTITY和表的其他属性.因此,在恢复期间,如果您尝试直接从备份创建表,则会丢失属性属性,并且您无法更改添加IDENTITY约束.
  2. 传统方式备份和不同的还原方法:这次我们首先使用DDL删除并重新创建表,然后尝试从备份执行INSERT INTO.但它无法将值插入IDENTITY列.
  3. 卸载和复制:我们还尝试使用UNLOAD等Redshift实用程序在S3中备份表,然后使用副本进行恢复.它工作正常,但后来我们面临其他问题 - a.具有前导零的DATE字段未在UNLOAD提取中正确提取.例如:日期'0001-01-01'被提取为'1-01-01'.然后它在COPY期间失败说不是有效日期.在恢复期间(COPY)还有其他几个错误,例如非空字段的缺失数据或int数据类型的无效值.这意味着UNLOAD和COPY命令一起不能同步和值更改.
  4. 从快照恢复表:我没有尝试过这个,但我知道AWS现在支持表恢复.但同样,为500张桌子单独设置这个是一项繁琐的工作.此外,您还可以长时间保留和跟踪快照.

如果您可以在我的方案或组织遵循的最佳实践中建议最佳的备份和还原方式,将会非常有用.

amazon-s3 amazon-redshift

7
推荐指数
1
解决办法
2210
查看次数

标签 统计

amazon-redshift ×1

amazon-s3 ×1