我认为REFRESH MATERIALIZED VIEW和pg_dump之间有问题。第一个必须等待第二个(或者相反?)为什么求你?
REFRESH MATERIALIZED VIEW
pg_dump
e1xvtsh31#
The documentation描述了REFRESH MATERIALIZED VIEW的CONCURRENTLY选项:如果不使用此选项,则影响许多行的刷新将使用较少的资源并更快地完成,但可能会阻塞尝试从实体化视图读取的其它连接。因此,实体化视图在刷新时,所有并发访问都将被阻塞。另一方面,pg_dump需要访问实体化视图。因此,谁先访问,谁就阻塞谁。有两个选项:
CONCURRENTLY
REFRESH MATERIALIZED VIEW CONCURRENTLY
pg_basebackup
1条答案
按热度按时间e1xvtsh31#
The documentation描述了
REFRESH MATERIALIZED VIEW
的CONCURRENTLY
选项:如果不使用此选项,则影响许多行的刷新将使用较少的资源并更快地完成,但可能会阻塞尝试从实体化视图读取的其它连接。
因此,实体化视图在刷新时,所有并发访问都将被阻塞。另一方面,
pg_dump
需要访问实体化视图。因此,谁先访问,谁就阻塞谁。有两个选项:
REFRESH MATERIALIZED VIEW CONCURRENTLY
pg_basebackup
而不是pg_dump
来备份数据库