毎日異なる時間に実行されるいくつかのクローンタスクがあります。スクリプトを実行するのに時間がかかりすぎるため、データベースを一時的にブロックするため、新しいデータベースを作成する必要があります。問題は、新しいデータベースがスクリプトで作成されなくなったことです(すべての操作を手動で実行する必要があります)。
新しいデータベースが正しく設定されるのを待ってからやり直すには、どうすればすべてのタスクを停止/停止/終了できますか?
ベストアンサー1
PostgreSQLでは、以下を実行している他のプロセスを確認できます。pg_stat_activityシステムビュー。長期実行プロセスを識別できる場合は、このテーブルを確認してクローン操作を開始できます。長期実行プロセスのエントリがある場合は待ちます。データベースを頻繁にポーリングするか、次を使用できます。リスニング/通知これで、データベースが準備されたことを示します(ただし、両方のスクリプトを変更する必要があるかもしれません)。
この方法の利点は、両方のスクリプトが同じシステムで実行されていない場合でも機能しますが、正しく設定するのが少し複雑になる可能性があります。