私は、バックエンドでpgsqlデータベースを使用している小規模ビジネスのWebベースRORアプリケーションによってホストされるアプリケーションをサポートしています。postgresqlレプリケーション|スレーブ/リカバリサーバがダウンしたときにアプリケーションがフリーズする
Postgresは「等から、私はそれはそれは回復にだことを示してリモートサーバーを照会するとき私の知る限り、正常に動作しているオフサイトのスタンバイサーバへのレプリケーションのセットアップ、
ですマスター」サーバー:
postgres=# table pg_stat_replication ;
pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start
| state | sent_location | write_location | flush_location | replay_location | sync_priority | sync_state
-------+----------+---------+------------------+----------------+-----------------+-------------+-----------------------
--------+-----------+---------------+----------------+----------------+-----------------+---------------+------------
18660 | 1281085 | rep | postgresql2 | 192.168.81.155 | | 43824 | 2017-05-07 11:42:43.15
0057-04 | streaming | 3/B5243418 | 3/B5243418 | 3/B5243418 | 3/B5243150 | 1 | sync
(1 row)
...と上の 『スレーブ』:私は、マスターの役割に私のリモートスレーブDBを促進するために持っている必要がありかかわるプロセスを理解
postgres=# select pg_is_in_recovery();
pg_is_in_recovery
-------------------
t
(1 row)
postgres=# select now() - pg_last_xact_replay_timestamp() AS replication_delay;
replication_delay
-------------------
01:02:14.885511
(1 row)
、BU私が持っているような問題は、リモートスレーブサーバーへのネットワークリンクが2〜3回暴落し、アプリケーションが完全に "フリーズ"していることです(例:ページはロードされますが、ユーザーはログオンできません)、マスターDBがまだ稼動しているにもかかわらず、私はウォールアーカイブを有効にして、このようなことが起きたときに、リンクが復元され、トランザクションログが送信されるまでデータが保存されるようにします...しかし、マスターのpgsqlインスタンスがスレーブインスタンスはオフラインになります...レプリケーションの概念全体が敗北しているので、私は何か間違っていなければならないと思いますか?
「ログオンを許可しない」が発生した場合は、ログからエラーを入力してください。また、1時間の遅れが心配するほど重要だと思う。 –
私が言うことができる限り、時間は「遅れ」ではなく、むしろトランザクションがデータベースに行われてからずっとずっと続いていた。 – tmowbray