簡體   English   中英

如果 pg_restore 正在進行,我們會在應用程序中遇到任何運行時問題嗎?

[英]Will we face any runtime issue in application if pg_restore is in progress?

我是 postgres 恢復的新手。 我們有一個應用程序,其中多個服務使用 postgres DB。 我們正在為此應用程序添加對備份/恢復功能的支持。

它將使用 pg_dump 進行轉儲。 當用戶觸發恢復工作流時,它會調用“pg_restore”。

因此,如果“pg_restore”正在運行並且當時應用程序正在運行一些查詢,將會產生什么影響? 它會面臨任何運行時錯誤嗎? 在 pg_restore 期間,postgres 會刪除現有的數據庫連接嗎?

不,您必須在運行pg_restore之前斷開用戶連接。

pg_restore需要一個空數據庫,但您可以使用選項--clean--create刪除並重新創建數據庫。 現在DROP DATABASE將阻塞,直到最后一個會話與數據庫斷開連接。

因此,首先要斷開會話,方法是在適當的 sessoins 上調用pg_terminate_backend functoin 或使用DROP DATABASE ... (FORCE) ,它從 v13 開始就存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM