为什么 PostgreSQL 在恢复期间接受连接?
我想用来ps_isready
确定我的数据库是否已完成从备份恢复并准备好接受连接。但它说数据库在实际完成恢复之前很久就已经准备好了。
我现在检查该recovery.signal
文件是否存在,但我想知道是否有“更好”的方法来确定它是否已完成恢复。
为什么 PostgreSQL 在恢复期间接受连接?
我想用来ps_isready
确定我的数据库是否已完成从备份恢复并准备好接受连接。但它说数据库在实际完成恢复之前很久就已经准备好了。
我现在检查该recovery.signal
文件是否存在,但我想知道是否有“更好”的方法来确定它是否已完成恢复。
我想到了两个选择:
连接并检查 PostgreSQL 是否不再处于恢复模式:
如果连接失败,则 PostgreSQL 未启动
如果结果是
t
,则 PostgreSQL 正在恢复如果结果为
f
,则 PostgreSQL 已完成恢复。设置
hot_standby = off
在postgresql.conf
那么 PostgreSQL 将不允许恢复模式下的连接。