问题描述
当我处理从Azure Postgres还原的数据库时,我至少有一种奇怪的行为。最终结果似乎是原始服务器和还原的服务器都链接在一起,这意味着在原始服务器的上也可以看到对还原服务器的任何更改。
这是我正在做的细节。在Azure门户中,我将转到Azure Postgres服务器,然后单击“还原”按钮。我要选择几天前的日期,然后输入新的服务器名称。大约10分钟后,还原完成,我将Azure数据工作室连接到原始服务器和新还原的服务器。此时,我针对每个服务器编写查询,它们返回相同的结果。
为清楚起见,我可以在恢复的服务器中插入行,而插入的行在原始服务器中可用。这不是我期望的行为,有人可以向我解释发生的情况以及为什么会发生这种情况,更重要的是,我可以使用此Restore。
我想要做的是还原服务器,但是我只想将1或2个表中的数据从还原的服务器复制到原始服务器上。
解决方法
保罗。您遇到的行为是PostgreSQL Azure数据库服务进行还原操作的结果,如here所述。
有两种类型的还原:
- 时间点还原可通过备份冗余选项使用,并在与原始服务器相同的区域中创建新服务器。
- 仅当您为服务器配置了地理冗余存储时,Geo-restore才可用,并且它允许您将服务器还原到其他区域。
还原操作实际上使用您的服务器配置和选定时间点的数据库副本创建PostgreSQL实例的全新实例。
,如果您使用新主机名但使用旧用户名连接到恢复的服务器,则可能会发生您描述的情况。
例如,如果原始服务器主机名是 my-server
而恢复的服务器主机名是 my-server-restored
,请确保在连接到新服务器时使用新用户名 admin@my-server-restored
而不是旧用户名 admin@my-server
。