确定表恢复的优先级

可以指定 Vertica 恢复表时所采用的顺序。此功能可确保最关键的表尽快处于可用状态。若要指定表的恢复顺序,请分配一个整数优先级值。首先恢复优先级值较高的表。例如,优先级为 1000 的表在优先级值为 500 的表之前恢复。表优先级的最大值为 64 位整数。

如果没有指定优先级,或多个表具有相同的优先级,则 Vertica 将按 OID 顺序还原表。使用查询分配优先级的方式如下:

=> SELECT set_table_recover_priority('avro_basic', '1000');
      set_table_recover_priority
---------------------------------------
 Table recovery priority has been set.
(1 row)

可使用以下格式通过一个查询查看所分配的优先级: SELECT table_name,recover_priority FROM v_catalog.tables; 下一个示例显示了 Vmart 示例数据库中已确定优先级的表。这种情况下,恢复优先级最高的表将列在最前面 (DESC)。shipping_dimension 表具有最高优先级,将最先恢复。(本示例为了便于显示,使用了硬式换行。)

=> SELECT table_name AS Name, recover_priority from v_catalog.tables WHERE recover_priority > 1
   ORDER BY recover_priority DESC;
        Name         | recover_priority
---------------------+------------------
 shipping_dimension  |            60000
 warehouse_dimension |            50000
 employee_dimension  |            40000
 vendor_dimension    |            30000
 date_dimension      |            20000
 promotion_dimension |            10000
 iris2               |             9999
 product_dimension   |               10
 customer_dimension  |               10
(9 rows)