英語フランス語スペイン語

OnWorksファビコン

pg_resetxlog - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して OnWorks 無料ホスティング プロバイダーで pg_resetxlog を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド pg_resetxlog です。

プログラム:

NAME


pg_resetxlog - PostgreSQL の先行書き込みログおよびその他の制御情報をリセットします。
データベースクラスター

SYNOPSIS


pg_resetxlog [-c xid,xid] [-f] [-n] [-o OID] [-x xid] [-e xid_epoch] [-m ミックスID,ミックスID]
[-O MXOFF] [-l xlogファイル] {[-D] データディレクトリ}

DESCRIPTION


pg_resetxlog 先行書き込みログ (WAL) をクリアし、オプションで他の制御をリセットします。
pg_control ファイルに保存されている情報。 この機能は、次のような場合に必要になることがあります。
ファイルが破損しました。 これは、サーバーが故障した場合の最後の手段としてのみ使用してください。
このような破損のため起動できません。

このコマンドを実行すると、サーバーを起動できるようになりますが、次の点に注意してください。
部分的にコミットされたトランザクションにより、データベースに不整合なデータが含まれる可能性があります。
すぐにデータをダンプして実行する必要があります initdb、リロードしてください。 リロード後に確認してください
不一致を修正し、必要に応じて修復します。

このユーティリティは、サーバーをインストールしたユーザーのみが実行できます。
データ ディレクトリへの読み取り/書き込みアクセス。 安全上の理由から、データを指定する必要があります
コマンドラインのディレクトリ。 pg_resetxlog 環境変数を使用しません PGD​​ATA.

If pg_resetxlog pg_control の有効なデータを判断できないというメッセージが表示されます。
を指定して強制的に続行させます。 -f (強制) オプション。 この場合はもっともらしい
欠落しているデータは値で置き換えられます。 ほとんどの分野で期待できるのは、
一致しますが、次の OID、次のトランザクション ID、および
エポック、次のマルチトランザクション ID とオフセット、および WAL 開始アドレス フィールド。 これらのフィールド
以下で説明するオプションを使用して設定できます。 正しく判断できない場合は、
これらすべてのフィールドの値、 -f 引き続き使用できますが、回復されたデータベースは
通常よりもさらに疑惑の目で扱われます。ただちにダンプしてリロードすることが不可欠です。
Do ダンプする前に、データベース内のデータ変更操作を実行します。
この行動は汚職をさらに悪化させる可能性があります。

この -o, -x, -e, -m, -O, -c-l オプションでは、次の OID、次のトランザクション ID、次のトランザクションが許可されます。
トランザクション ID のエポック、次に最も古いマルチトランザクション ID、次のマルチトランザクション オフセット、
コミット時刻を取得できる最も古いトランザクション ID と最新のトランザクション ID、および WAL
開始アドレス値は手動で設定します。 これらは次の場合にのみ必要です pg_resetxlog is
pg_control を読み取っても適切な値を決定できません。 安全な値は次のとおりです。
次のように決定されます。

· 次のトランザクション ID の安全な値 (-x) を探すことで決定できます。
データディレクトリの下のディレクトリ pg_clog にある数値的に最大のファイル名、
1048576 を加算し、XNUMX を乗算します。ファイル名は次のとおりであることに注意してください。
XNUMX進数。 通常は、オプション値も XNUMX 進数で指定するのが最も簡単です。 のために
たとえば、0011 が pg_clog の最大のエントリである場合、-x 0x1200000 が機能します (XNUMX
末尾のゼロは適切な乗数を提供します)。

· 次のマルチトランザクション ID の安全な値 (最初の部分) -m) は次のように決定できます。
pg_multixact/offsets ディレクトリ内で数値的に最大のファイル名を探しています
データ ディレクトリの下に 65536 を追加し、XNUMX を掛けます。
最も古いマルチトランザクション ID の安全な値 (の XNUMX 番目の部分) -m) は次のように決定できます。
同じディレクトリ内で数値的に最小のファイル名を探して乗算します。
上記のように、ファイル名は 65536 進数であるため、これを行う最も簡単な方法
オプション値を XNUMX 進数で指定し、ゼロを XNUMX つ追加します。

· 次のマルチトランザクション オフセットの安全な値 (-O) 見て判断できます
ディレクトリ pg_multixact/members 内の数値的に最大のファイル名
データ ディレクトリに 52352 を追加し、XNUMX を掛けます。上記と同様に、ファイル名は
は XNUMX 進数です。 上記のような簡単なレシピはありません。
ゼロ。

· コミット時間を取得できる最も古いトランザクション ID の安全な値
(の最初の部分 -c) 数値的に最小のファイル名を探すことで決定できます。
データディレクトリの下のディレクトリ pg_commit_ts にあります。 逆に、安全な値は、
コミット時刻を取得できる最新のトランザクション ID (の XNUMX 番目の部分)
-c) は、同じファイル内で数値的に最大のファイル名を探すことによって決定できます。
ディレクトリ。 上記と同様に、ファイル名は XNUMX 進数です。

· WAL 開始アドレス (-l) は、どの WAL セグメント ファイル名よりも大きくなければなりません
現在、データディレクトリの下のディレクトリ pg_xlog に存在します。 これらの名前は、
これも XNUMX 進数で、XNUMX つの部分に分かれています。 最初の部分は「タイムライン ID」であり、
通常は同じにしておく必要があります。 たとえば、00000001000000320000004A の場合、
pg_xlog の最大のエントリには、-l 00000001000000320000004B 以上を使用します。

注意
pg_resetxlog それ自体が pg_xlog 内のファイルを調べてデフォルトを選択します -l 設定
既存の最後のファイル名を超えて。 したがって、手動調整は、 -l する必要があります
現在存在しない WAL セグメント ファイルを認識している場合に必要になります。
pg_xlog (オフライン アーカイブ内のエントリなど)。 または、pg_xlog の内容が
完全に失われてしまった。

· 最大の OID を超える次の OID を決定する、これほど簡単な方法はありません。
ただし、幸いなことに、next-OID 設定を正しく行うことは重要ではありません。

· トランザクション ID エポックは、実際にはデータベース内のどこにも保存されません。
によって設定されるフィールド pg_resetxlog、データベースとして指定されている限り、任意の値が機能します。
それ自体が懸念している。 レプリケーションを確実に行うには、この値を調整する必要がある場合があります。
Slony-I や Skytools などのシステムが正しく動作する - 動作する場合は、適切な値
ダウンストリームのレプリケートされたデータベースの状態から取得できる必要があります。

この -n (操作なし) オプションで指示 pg_resetxlog から再構築された値を出力するには
pg_control と変更しようとしている値を変更し、何も変更せずに終了します。 これ
これは主にデバッグ ツールですが、許可する前の健全性チェックとしても役立ちます。
pg_resetxlog 本格的に進めるために。

この -V- バージョン オプションは、pg_resetxlog のバージョンを出力して終了します。 オプション -?
- 助けて サポートされている引数を表示して終了します。

注意事項


このコマンドは、サーバーの実行中に使用しないでください。 pg_resetxlog 拒否するだろう
データディレクトリ内にサーバーロックファイルが見つかった場合に起動します。 サーバーがクラッシュした場合は、
ロック ファイルが残されている可能性があります。 その場合は、ロックファイルを削除して、
許す pg_resetxlog 走る。 ただし、そうする前に、次のようなことがないことを二重に確認してください。
サーバープロセスはまだ生きています。

onworks.net サービスを使用してオンラインで pg_resetxlog を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad