問題タブ [wal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - Redis AOF と Tarantool WAL ログの違い
Tarantool に関するこの記事を読んでいましたが、AOF と WAL ログは同じようには機能していないようです。
Tarantool: スナップショットの他に、本格的な WAL (先行書き込みログ) があります。そのため、すぐに使用できる各トランザクションの後にデータの永続性を確保できます。Redis: 実際、スナップショットしかありません。技術的には、AOF (すべての操作が書き込まれる追加専用ファイル) がありますが、再起動後の手動復元を含め、手動で制御する必要があります。簡単に言えば、Redis では、サーバーを時々手動で一時停止し、スナップショットを作成して AOF をアーカイブする必要があります。
誰かが 2 つの戦略の違いと、それぞれが高レベルでどのように機能するかをより明確に説明できますか?
Redis AOF は、Postgresql に実装されているような SQL データベース トランザクション ログに対して同じように機能していると常に思っていましたが、間違っていた可能性があります。
postgresql - pg_xlog の自動クリーニングを有効にする方法
pg_xlog フォルダーのサイズを制限するように PostgreSQL 9.6 データベースを構成しようとしています。この問題または同様の問題に関する多くのスレッドを読みましたが、試したことはありません。
Postgresql 9.6 サービス インスタンスのセットアップ スクリプトを作成しました。initdb を実行し、Windows サービスを登録して開始し、空のデータベースを作成して、データベースにダンプを復元します。スクリプトが完了すると、データベース構造は正常になり、データはそこにありますが、xlog フォルダーには既に 55 個のファイル (880 mb) が含まれています。
フォルダーのサイズを小さくするために、wal_keep_segments を 0 または 1 に設定し、max_wal_size を 200mb に設定し、checkpoint_timeout を減らし、archive_mode をオフに設定し、archive_command を空の文字列に設定してみました。pg_settings をクエリすると、プロパティが正しく設定されていることがわかります。
次に、SQL を介してチェックポイントを強制し、データベースをバキュームし、Windows サービスを再起動して pg_archivecleanup を試しましたが、実際には何も機能しませんでした。xlog フォルダーは 50 ファイル (800 mb) に縮小されましたが、構成で設定した 200 mb の制限にはほど遠いものでした。
他に何を試すべきかわかりません。誰かが私が間違っていることを教えてくれたら、とても感謝しています。さらに情報が必要な場合は、喜んで提供します。
どうもありがとう
postgresql - postgresql xlog ダンプの結果
Ubuntu で PostgreSQL db を使用しています。WALログとpg_xlogdumpについて知りました。pg_xlogdump を使用して、WAL ログを画面に出力しました。しかし、応答を解釈する方法と、どのようなトランザクションが行われたかを知る方法がわかりません。
postgresql - PostgreSQL / WAL アーカイブ: イメージ スナップショット バックアップを実行するときに、archive_command を空のままにできますか?
Azure VM で実行されている PostgreSQL 9.5 インスタンスがあります。hereで説明されているように、Azure に次のように指示するポストとプレスクリプトを指定する必要があります。 as a working new VM"および"Now I'm done"であるため、Azure はバックアップにApplication Consistentのフラグを立てます。
PostgreSQLに関しては、継続的なアーカイブに関するドキュメントを読みました。これは、WALアーカイブを有効にしてバックアップを許可する理由と方法を説明しています。そして、ここに私の質問があります:
と を設定archive_mode = on
した場合、 を空wal_level = archive
のままにできarchive_command
ますか? これは意味がありますか? または、ここでなんらかのアーカイブを行う必要があります (たとえば、ログ セグメントを別の場所/ディスクにコピーするなど)。このアーカイブは、シナリオで VM を復元するときにデータベースが機能することを保証するために必要ですか?
PostgreSQLに「VM全体のスナップショットを作成している間、ちょっと待って/データ書き込み(または何が起こっても)を保留してください」と伝えるだけです。計画は、pg_start_backup()
前に実行し、スナップショットを取得してから実行することpg_stop_backup()
です。
私は、この方法(有効であっても)は本質的にファイルシステムレベルのバックアップであり、docsによると、 fs-backup を有効にするには postgres-service をシャットダウンする必要があることを認識しています。私が読んだ別の場所pg_start_backup()
では、有効なスタンドアロンの物理バックアップを保証するには、を押すだけで十分なはずです。