【发布时间】:2011-12-28 13:28:43
【问题描述】:
我有一个包含天气信息的 Postgres 9.1 数据库。该数据集由大约 310 万行组成。
从 CSV 文件加载数据大约需要 2 分钟,而创建多列索引则需要更少的时间。
每 6 小时我需要完全刷新数据集。我目前的想法是将新数据集导入到不同的数据库名称中,例如“weather_imported”,一旦导入和索引创建完成,我会删除原始数据库并重命名导入的数据库。
理论上,客户端会在此操作期间继续查询数据库,但如果这有不良影响,我可能会安排让客户端默默地忽略一些错误。
问题:
这种策略会奏效吗?
如果客户碰巧在 在 DB 删除时运行查询的过程,我的假设是 在查询完成之前,数据库不会完成删除 完成 - 真的吗?
如果查询发生在 DB被删除并重命名?我假设“找不到数据库” 错误。
有更好的策略吗?
【问题讨论】:
标签: postgresql