我知道查询会一直运行,直到它在与客户端的连接丢失时返回数据。但是,如果您使用 pg_restore。它是否上传还原文件,然后在服务器上进行还原?还是逐步恢复要求客户端保持连接。
我想知道这一点,因为我的员工使用的 vpn 会在一段时间后自动断开连接。并且恢复时间比超时 XD 更长。
当连接丢失时,我得到了pg_restore: error: error returned by PQputCopyData: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request.
错误。
但是在服务器上,我可以看到该过程仍在使用中运行SELECT * FROM pg_stat_activity;
pg_restore
一直在服务器上执行 SQL 语句。如果与服务器的连接失败,则还原不成功。这里奇怪的是,连接中不应该有任何长时间的空闲时间,创建索引和刷新物化视图可能除外。
无论如何,您应该看到网络配置正确。您无法真正使用像这样的不可靠网络,一旦您转身就断开连接。