PostgreSQL 物化视图刷新能否与 pg_dump 同时运行?

问题描述 投票:0回答:1

我觉得

REFRESH MATERIALIZED VIEW
pg_dump
之间有问题。

第一个必须等待第二个(或者相反?)。

为什么请?

postgresql materialized-views pg-dump
1个回答
0
投票

文档描述了

CONCURRENTLY
REFRESH MATERIALIZED VIEW
选项:

如果没有此选项,影响大量行的刷新将倾向于使用更少的资源并更快地完成,但可能会阻止其他试图从物化视图读取的连接。

所以物化视图在刷新时被所有并发访问阻塞。

pg_dump
另一方面,需要访问物化视图。所以谁先到谁就会挡住另一个。

有两种选择:

  • 如果可以在物化视图上定义唯一索引,并且不介意刷新时间较长,可以使用

    REFRESH MATERIALIZED VIEW CONCURRENTLY

  • 使用

    pg_basebackup
    而不是
    pg_dump
    来备份你的数据库

© www.soinside.com 2019 - 2024. All rights reserved.