タスク
41 ページPRの管理
目的 PRの管理を迅速にすること。 etcdのPRはhttps://github.com/etcd-io/etcd/pullsに一覧表示されています。 PRにはさまざまなラベル、マイルストーン、レビュアーなどを設定できます。ラベルの詳細な一覧は、次のページを参照してください。 https://github.com/kubernetes/kubernetes/labels 便利なPR検索の例を以下に示します。 etcd-v3.4マイルストーンのオープンPR 調査中のPR 対象範囲 このガイドライン …
目的 PRの管理を迅速にすること。 etcdのPRはhttps://github.com/etcd-io/etcd/pullsに一覧表示されています。 PRにはさまざまなラベル、マイルストーン、レビュアーなどを設定できます。ラベルの詳細な一覧は、次のページを参照してください。 https://github.com/kubernetes/kubernetes/labels 便利なPR検索の例を以下に示します。 etcd-v3.4マイルストーンのオープンPR 調査中のPR 対象範囲 このガイドライン …
etcdクラスターとアプリケーションのダウングレード
このセクションには、etcdクラスターとアプリケーションのダウングレードに関するドキュメントをまとめています。 etcd v3.xクラスターのダウングレード etcdを3.5から3.4にダウングレード etcdを3.6から3.5にダウングレード etcdを3.7から3.6にダウングレード
このセクションには、etcdクラスターとアプリケーションのダウングレードに関するドキュメントをまとめています。 etcd v3.xクラスターのダウングレード etcdを3.5から3.4にダウングレード etcdを3.6から3.5にダウングレード etcdを3.7から3.6にダウングレード
etcdクラスターとアプリケーションのアップグレード
このセクションには、etcdクラスターとアプリケーションのアップグレードに関するドキュメントをまとめています。 アップグレード方針 アップグレードを始める前に、etcdでサポートされるアップグレードは次の2つの場合だけであることに注意してください。 パッチアップグレード: 同じマイナーバージョン内でのパッチリリース間のアップグレードです(例:3.7.0 - 3.7.1)。 マイナーアップグレード: マイナーバージョンを1つずつ上げるアップグレードです(例:3.6 - 3.7)。マイナーバージョン …
このセクションには、etcdクラスターとアプリケーションのアップグレードに関するドキュメントをまとめています。 アップグレード方針 アップグレードを始める前に、etcdでサポートされるアップグレードは次の2つの場合だけであることに注意してください。 パッチアップグレード: 同じマイナーバージョン内でのパッチリリース間のアップグレードです(例:3.7.0 - 3.7.1)。 マイナーアップグレード: マイナーバージョンを1つずつ上げるアップグレードです(例:3.6 - 3.7)。マイナーバージョン …
認証
認証に使用するauth、user、role: export ETCDCTL_API=3 ENDPOINTS=localhost:2379 etcdctl --endpoints=${ENDPOINTS} role add root etcdctl --endpoints=${ENDPOINTS} role get root etcdctl --endpoints=${ENDPOINTS} user add root etcdctl --endpoints=${ENDPOINTS} user …
認証に使用するauth、user、role: export ETCDCTL_API=3 ENDPOINTS=localhost:2379 etcdctl --endpoints=${ENDPOINTS} role add root etcdctl --endpoints=${ENDPOINTS} role get root etcdctl --endpoints=${ENDPOINTS} user add root etcdctl --endpoints=${ENDPOINTS} user …
Goアプリケーションへのetcdの組み込み
etcdのGoパッケージembedを使用すると、etcdサーバーをアプリケーションに直接、簡単に組み込めます。 詳細はembedパッケージのドキュメント を参照してください。
etcdのGoパッケージembedを使用すると、etcdサーバーをアプリケーションに直接、簡単に組み込めます。 詳細はembedパッケージのドキュメント を参照してください。
バグの報告
etcdプロジェクトのいずれかの部分にバグやドキュメントの誤りを見つけた場合は、Issueを作成 してお知らせください。私たちはバグや誤りを真剣に受け止めており、小さすぎて報告する必要のない問題はないと考えています。バグを報告する前に、同じ問題を報告するIssueがすでに存在していないか確認してください。 バグ報告を正確で理解しやすいものにするため、次の点を満たすようにしてください。 具体的であること。バージョン、環境、構成など、できるだけ多くの詳細を含めてください。etcdサーバーの実行に関す …
etcdプロジェクトのいずれかの部分にバグやドキュメントの誤りを見つけた場合は、Issueを作成 してお知らせください。私たちはバグや誤りを真剣に受け止めており、小さすぎて報告する必要のない問題はないと考えています。バグを報告する前に、同じ問題を報告するIssueがすでに存在していないか確認してください。 バグ報告を正確で理解しやすいものにするため、次の点を満たすようにしてください。 具体的であること。バージョン、環境、構成など、できるだけ多くの詳細を含めてください。etcdサーバーの実行に関す …
データベースの保存方法
前提条件 etcdctlとetcdutlをインストール します。 ローカルクラスターをセットアップ します。 データベースのスナップショットを取得する etcdデータベースのある時点のスナップショットを保存するsnapshot: etcdctl --endpoints=$ENDPOINT snapshot save DB_NAME グローバルオプション etcdctl --endpoints=[127.0.0.1:2379], gRPC endpoints スナップショットを要求できるetcdノ …
前提条件 etcdctlとetcdutlをインストール します。 ローカルクラスターをセットアップ します。 データベースのスナップショットを取得する etcdデータベースのある時点のスナップショットを保存するsnapshot: etcdctl --endpoints=$ENDPOINT snapshot save DB_NAME グローバルオプション etcdctl --endpoints=[127.0.0.1:2379], gRPC endpoints スナップショットを要求できるetcdノ …
etcdクラスターでリーダー選出を行う方法
前提条件 etcd とetcdctl がインストールされていることを確認します。 稼働中のetcdクラスターを確認します。 リーダー選出を行う etcdctlコマンドは、etcdクラスターでリーダー選出を行うために使用します。一度にリーダーになれるクライアントが1つだけであることを保証します。 etcdctl --endpoints=$ENDPOINTS elect <election-name> [proposal] etcdctl --endpoints=$ENDPOINTS elect …
前提条件 etcd とetcdctl がインストールされていることを確認します。 稼働中のetcdクラスターを確認します。 リーダー選出を行う etcdctlコマンドは、etcdクラスターでリーダー選出を行うために使用します。一度にリーダーになれるクライアントが1つだけであることを保証します。 etcdctl --endpoints=$ENDPOINTS elect <election-name> [proposal] etcdctl --endpoints=$ENDPOINTS elect …
ロックの作成方法
LOCKは、指定された名前の分散ミューテックスを取得します。取得したロックは、etcdctlが終了するまで保持されます。 前提条件 etcdとetcdctl をインストールします。 ロックの作成 分散ロックに使用するlock: etcdctl --endpoints=$ENDPOINTS lock mutex1 オプション endpoints - クラスター内のマシンのアドレスを、コンマ区切りのリストで指定します。 ttl - ロックセッションのタイムアウトを秒単位で指定します。
LOCKは、指定された名前の分散ミューテックスを取得します。取得したロックは、etcdctlが終了するまで保持されます。 前提条件 etcdとetcdctl をインストールします。 ロックの作成 分散ロックに使用するlock: etcdctl --endpoints=$ENDPOINTS lock mutex1 オプション endpoints - クラスター内のマシンのアドレスを、コンマ区切りのリストで指定します。 ttl - ロックセッションのタイムアウトを秒単位で指定します。
リースの作成方法
TTLを指定した書き込みに使用するlease: etcdctl --endpoints=$ENDPOINTS lease grant 300 # lease 2be7547fbc6a5afa granted with TTL(300s) etcdctl --endpoints=$ENDPOINTS put sample value --lease=2be7547fbc6a5afa etcdctl --endpoints=$ENDPOINTS get sample etcdctl …
TTLを指定した書き込みに使用するlease: etcdctl --endpoints=$ENDPOINTS lease grant 300 # lease 2be7547fbc6a5afa granted with TTL(300s) etcdctl --endpoints=$ENDPOINTS put sample value --lease=2be7547fbc6a5afa etcdctl --endpoints=$ENDPOINTS get sample etcdctl …
キーの監視方法
前提条件 etcdとetcdctl をインストールします。 キーの監視 今後の変更の通知を受け取るwatch: etcdctl watch $KEY [$END_KEY] オプション -i, --interactive[=false]: interactive mode --prefix[=false]: watch on a prefix if prefix is set --rev=0: Revision to start watching --prev-kv[=false]: get …
前提条件 etcdとetcdctl をインストールします。 キーの監視 今後の変更の通知を受け取るwatch: etcdctl watch $KEY [$END_KEY] オプション -i, --interactive[=false]: interactive mode --prefix[=false]: watch on a prefix if prefix is set --rev=0: Revision to start watching --prev-kv[=false]: get …
キーの削除方法
前提条件 etcdとetcdctl をインストールします。 キーの追加と削除 指定したキーまたはキー範囲を削除するdel: etcdctl del $KEY [$END_KEY] オプション --prefix[=false]: delete keys with matching prefix --prev-kv[=false]: return deleted key-value pairs --from-key[=false]: delete keys that are greater than …
前提条件 etcdとetcdctl をインストールします。 キーの追加と削除 指定したキーまたはキー範囲を削除するdel: etcdctl del $KEY [$END_KEY] オプション --prefix[=false]: delete keys with matching prefix --prev-kv[=false]: return deleted key-value pairs --from-key[=false]: delete keys that are greater than …
13. セキュリティに関する考慮事項
HAProxy は、非常に限られた権限で動作するよう設計されています。標準的な使用方法は、chroot jail に隔離したうえで、jail 内で何の権限も持たない非 root ユーザーに権限を落とすことです。これにより、将来脆弱性が発見されても、侵害がシステムの他の部分に影響しないようにします。 chroot を実行するには、最初に root ユーザーとして起動する必要があります。手作業で chroot 環境を構築し、その中でプロセスを起動するのは意味がありません。そのような環境の構築は面倒 …
HAProxy は、非常に限られた権限で動作するよう設計されています。標準的な使用方法は、chroot jail に隔離したうえで、jail 内で何の権限も持たない非 root ユーザーに権限を落とすことです。これにより、将来脆弱性が発見されても、侵害がシステムの他の部分に影響しないようにします。 chroot を実行するには、最初に root ユーザーとして起動する必要があります。手作業で chroot 環境を構築し、その中でプロセスを起動するのは意味がありません。そのような環境の構築は面倒 …
11. 回避すべき既知の落とし穴
システムの再起動後に haproxy サービスが起動せず、手動で起動すると動く、という報告をときどき受けます。多くの場合、keepalived などのクラスター IP アドレス管理機構を使い、マスターノードだけにサービスの IP アドレスを割り当てています。haproxy を 0.0.0.0 にバインドしていたときは動作していたものが、仮想 IP アドレスにバインドするように変更すると動かなくなります。これは、サービスの起動時点ではローカルノードが仮想 IP アドレスをまだ所有しておらず …
システムの再起動後に haproxy サービスが起動せず、手動で起動すると動く、という報告をときどき受けます。多くの場合、keepalived などのクラスター IP アドレス管理機構を使い、マスターノードだけにサービスの IP アドレスを割り当てています。haproxy を 0.0.0.0 にバインドしていたときは動作していたものが、仮想 IP アドレスにバインドするように変更すると動かなくなります。これは、サービスの起動時点ではローカルノードが仮想 IP アドレスをまだ所有しておらず …
10. より簡単な構成管理
クラスターを構成する 2 つの HAProxy ノードが、少数のアドレスを除いてまったく同じ設定を共有することはよくあります。ノードごとに設定の複製を管理すると、その内容は必然的に食い違っていきます。設定に環境変数を組み込めば、システム全体の環境変数をいくつか変えるだけで、複数の設定でまったく同じファイルを共有できます。この機能はバージョン 1.5 で導入され、当初はアドレスにのみ環境変数を含めることができました。1.6 では対応範囲が広がり、どこでも環境変数を使用できます。構文は UNIX …
クラスターを構成する 2 つの HAProxy ノードが、少数のアドレスを除いてまったく同じ設定を共有することはよくあります。ノードごとに設定の複製を管理すると、その内容は必然的に食い違っていきます。設定に環境変数を組み込めば、システム全体の環境変数をいくつか変えるだけで、複数の設定でまったく同じファイルを共有できます。この機能はバージョン 1.5 で導入され、当初はアドレスにのみ環境変数を含めることができました。1.6 では対応範囲が広がり、どこでも環境変数を使用できます。構文は UNIX …
8. ロギング
HAProxy はファイル システム アクセスを実行しないため、ロギングに関しては常に syslog サーバーに依存します。標準的な使用方法は、UDP 経由でログ サーバー (デフォルトではポート 514) にログを送信することです。通常、これはローカル syslog デーモンが実行されている 127.0.0.1 に設定されますが、中央サーバーにログを記録するためにネットワーク経由でも使用されます。中央サーバーは、特にログを到着順にマージしておくことが望ましいアクティブ/アクティブ シナリオで …
HAProxy はファイル システム アクセスを実行しないため、ロギングに関しては常に syslog サーバーに依存します。標準的な使用方法は、UDP 経由でログ サーバー (デフォルトではポート 514) にログを送信することです。通常、これはローカル syslog デーモンが実行されている 127.0.0.1 に設定されますが、中央サーバーにログを記録するためにネットワーク経由でも使用されます。中央サーバーは、特にログを到着順にマージしておくことが望ましいアクティブ/アクティブ シナリオで …
プレフィックスでキーを取得する方法
前提条件 etcdctlをインストール します。 ローカルクラスターをセットアップ します。 プレフィックスでキーを取得する $ etcdctl --endpoints=$ENDPOINTS get PREFIX --prefix グローバルオプション --endpoints=[127.0.0.1:2379], gRPC endpoints オプション --prefix, get a range of keys with matching prefix 例 etcdctl …
前提条件 etcdctlをインストール します。 ローカルクラスターをセットアップ します。 プレフィックスでキーを取得する $ etcdctl --endpoints=$ENDPOINTS get PREFIX --prefix グローバルオプション --endpoints=[127.0.0.1:2379], gRPC endpoints オプション --prefix, get a range of keys with matching prefix 例 etcdctl …
6. メモリ管理
HAProxy は、シンプルかつ高速なプールベースのメモリ管理を使用します。少数の異なるオブジェクト タイプに依存するため、異なるサイズごとに malloc() を呼び出すよりも、適切なサイズのオブジェクトが既に含まれているプールから新しいオブジェクトを選択する方がはるかに効率的です。プールはスタックまたは LIFO として編成されるため、新しく割り当てられたオブジェクトは、CPU キャッシュ内でまだホットな最近リリースされたオブジェクトから取得されます。メモリの断片化を制限するために、同様の …
HAProxy は、シンプルかつ高速なプールベースのメモリ管理を使用します。少数の異なるオブジェクト タイプに依存するため、異なるサイズごとに malloc() を呼び出すよりも、適切なサイズのオブジェクトが既に含まれているプールから新しいオブジェクトを選択する方がはるかに効率的です。プールはスタックまたは LIFO として編成されるため、新しく割り当てられたオブジェクトは、CPU キャッシュ内でまだホットな最近リリースされたオブジェクトから取得されます。メモリの断片化を制限するために、同様の …
etcdへの書き込み
前提条件 etcdctlをインストールします。 手順 putサブコマンドを使用して、キー・バリューペアを書き込みます。 etcdctl --endpoints=$ENDPOINTS put foo "Hello World!" 各要素の意味は次のとおりです。 fooはキーの名前です。 "Hello World!"は引用符で囲んだ値です。
前提条件 etcdctlをインストールします。 手順 putサブコマンドを使用して、キー・バリューペアを書き込みます。 etcdctl --endpoints=$ENDPOINTS put foo "Hello World!" 各要素の意味は次のとおりです。 fooはキーの名前です。 "Hello World!"は引用符で囲んだ値です。
1. 前提条件
このドキュメントでは、HAProxy の起動、停止、管理、トラブルシューティングの方法について説明します。また、既知の制限や回避すべき落とし穴についても述べています。設定方法については記載していません(詳細は configuration.txt を参照してください)。 このドキュメントでは、読者がUNIX互換のオペレーティングシステムにおける十分な管理スキルを持ち、日常的にシェルを使用し、strace や tcpdump などのトラブルシューティングユーティリティに精通していることを前提として …
このドキュメントでは、HAProxy の起動、停止、管理、トラブルシューティングの方法について説明します。また、既知の制限や回避すべき落とし穴についても述べています。設定方法については記載していません(詳細は configuration.txt を参照してください)。 このドキュメントでは、読者がUNIX互換のオペレーティングシステムにおける十分な管理スキルを持ち、日常的にシェルを使用し、strace や tcpdump などのトラブルシューティングユーティリティに精通していることを前提として …
貢献ガイドライン
チャット 質問がある場合、対話形式のトラブルシューティング支援が必要な場合、他のPatroniユーザーと話したい場合は、PostgreSQL Slack の#patroni チャンネルに参加してください。 バグの報告 バグを報告する前に、必ず最新のPatroniバージョンで再現することを確認してください。また、Issueトラッカー に同じ問題がすでに報告されていないかも再確認してください。 テストの実行 behaveテストを実行するための要件: contrib モジュールを含む …
チャット 質問がある場合、対話形式のトラブルシューティング支援が必要な場合、他のPatroniユーザーと話したい場合は、PostgreSQL Slack の#patroni チャンネルに参加してください。 バグの報告 バグを報告する前に、必ず最新のPatroniバージョンで再現することを確認してください。また、Issueトラッカー に同じ問題がすでに報告されていないかも再確認してください。 テストの実行 behaveテストを実行するための要件: contrib モジュールを含む …
etcdからの読み取り
前提条件 etcdctlをインストールします。 手順 getサブコマンドを使用して、etcdから読み取ります。 $ etcdctl --endpoints=$ENDPOINTS get foo foo Hello World! $ 各要素の意味は次のとおりです。 fooは要求したキーです。 Hello World!は取得した値です。 出力形式を指定する場合は、次のように実行します。 $ etcdctl --endpoints=$ENDPOINTS --write-out="json" get …
前提条件 etcdctlをインストールします。 手順 getサブコマンドを使用して、etcdから読み取ります。 $ etcdctl --endpoints=$ENDPOINTS get foo foo Hello World! $ 各要素の意味は次のとおりです。 fooは要求したキーです。 Hello World!は取得した値です。 出力形式を指定する場合は、次のように実行します。 $ etcdctl --endpoints=$ENDPOINTS --write-out="json" get …
単独インスタンスをPatroniクラスターに移行する
このセクションでは、単独のPostgreSQLインスタンスをPatroniクラスターに移行する手順を説明します。 既存のPostgreSQLインスタンスを使用せずにPatroniクラスターを構築する場合は、実行と設定 を参照してください。 手順 既存のPostgresクラスターをPatroni管理のクラスターに移行する手順の概要を以下に示します。既存クラスターのすべてのノードが稼働中であり、移行中にPostgresの設定を変更する予定がないことを前提とします。 Patroni設定の …
このセクションでは、単独のPostgreSQLインスタンスをPatroniクラスターに移行する手順を説明します。 既存のPostgreSQLインスタンスを使用せずにPatroniクラスターを構築する場合は、実行と設定 を参照してください。 手順 既存のPostgresクラスターをPatroni管理のクラスターに移行する手順の概要を以下に示します。既存クラスターのすべてのノードが稼働中であり、移行中にPostgresの設定を変更する予定がないことを前提とします。 Patroni設定の …
KubernetesでのPatroniの使用
PatroniはKubernetesオブジェクトを使用してクラスターの状態を保存し、リーダーキーを管理できます。そのため、整合性ストアを用意せずにKubernetes環境でPostgresを運用できます。つまり、追加のetcdデプロイメントを実行する必要がありません。Patroniがリーダーキーと構成キーの保存に使用できるKubernetesオブジェクトには二種類あり、kubernetes.use_endpointsまたは環境変数PATRONI_KUBERNETES_USE_ENDPOINTS …
PatroniはKubernetesオブジェクトを使用してクラスターの状態を保存し、リーダーキーを管理できます。そのため、整合性ストアを用意せずにKubernetes環境でPostgresを運用できます。つまり、追加のetcdデプロイメントを実行する必要がありません。Patroniがリーダーキーと構成キーの保存に使用できるKubernetesオブジェクトには二種類あり、kubernetes.use_endpointsまたは環境変数PATRONI_KUBERNETES_USE_ENDPOINTS …
サポートと貢献
pgBadger はオープンプロジェクトとして維持されています。バグ報告、機能要望、ドキュメントの修正、パッチは、上流の GitHub リポジトリ経由で処理されます。 バグおよび機能要望 最新リリース版にアップグレードし、動作が依然として発生するか確認してください。 既存の回答を検索するには、オープンな問題 および クローズされた問題 を確認してください。 問題を再現する最小限の安全なログサンプルおよびコマンドラインに簡略化してください。 認証情報、機密SQL、バインド値、ホスト名、アドレス、お …
pgBadger はオープンプロジェクトとして維持されています。バグ報告、機能要望、ドキュメントの修正、パッチは、上流の GitHub リポジトリ経由で処理されます。 バグおよび機能要望 最新リリース版にアップグレードし、動作が依然として発生するか確認してください。 既存の回答を検索するには、オープンな問題 および クローズされた問題 を確認してください。 問題を再現する最小限の安全なログサンプルおよびコマンドラインに簡略化してください。 認証情報、機密SQL、バインド値、ホスト名、アドレス、お …
クラスターの一時停止/再開モード
目的 ある条件下では、Patroni はクラスターの管理を一時的に停止する必要があり、DCS にクラスター状態を保持したままにする必要があります。このような状況の例として、メジャーバージョンのアップグレードや破損からの復旧など、稀なクラスター操作が挙げられます。これらの操作中は、Patroni が認識しない理由でノードの起動・停止が頻発し、一部のノードが一時的にプライマリーに昇格する場合もあり、その結果、同時に1つのプライマリーしか実行されていないという前提が破られることがあります。したがって …
目的 ある条件下では、Patroni はクラスターの管理を一時的に停止する必要があり、DCS にクラスター状態を保持したままにする必要があります。このような状況の例として、メジャーバージョンのアップグレードや破損からの復旧など、稀なクラスター操作が挙げられます。これらの操作中は、Patroni が認識しない理由でノードの起動・停止が頻発し、一部のノードが一時的にプライマリーに昇格する場合もあり、その結果、同時に1つのプライマリーしか実行されていないという前提が破られることがあります。したがって …
スタンバイクラスター
Patroniは、「スタンバイクラスター」と呼ばれる機能を使用して、リモートのデータセンター(リージョン)へのカスケードレプリケーションも実行できます。この種類のクラスターには、次の要素があります。 「スタンバイリーダー」。リモートのノードからレプリケーションを行う点を除き、通常のクラスターリーダーとほぼ同じように動作します。 スタンバイリーダーからレプリケーションを行うカスケードレプリカ。 スタンバイリーダーはDCS内のリーダーロックを保持し、更新します。リーダーロックが期限切れになると、カ …
Patroniは、「スタンバイクラスター」と呼ばれる機能を使用して、リモートのデータセンター(リージョン)へのカスケードレプリケーションも実行できます。この種類のクラスターには、次の要素があります。 「スタンバイリーダー」。リモートのノードからレプリケーションを行う点を除き、通常のクラスターリーダーとほぼ同じように動作します。 スタンバイリーダーからレプリケーションを行うカスケードレプリカ。 スタンバイリーダーはDCS内のリーダーロックを保持し、更新します。リーダーロックが期限切れになると、カ …
増分レポート
増分モードでは、解析した統計をバイナリ形式で保存し、1日ごとのHTMLレポート、1週間ごとの累積レポート、およびそれらを結ぶカレンダー形式の目次を生成します。同じログエントリーを重複して数えずに、ローテーションされたログを繰り返し処理するための機能です。 日次・週次レポートを生成する 日次のログローテーション後にpgBadgerを実行し、永続的な出力ディレクトリを指定します。 crontab 0 4 * * * /usr/bin/pgbadger -I -q …
増分モードでは、解析した統計をバイナリ形式で保存し、1日ごとのHTMLレポート、1週間ごとの累積レポート、およびそれらを結ぶカレンダー形式の目次を生成します。同じログエントリーを重複して数えずに、ローテーションされたログを繰り返し処理するための機能です。 日次・週次レポートを生成する 日次のログローテーション後にpgBadgerを実行し、永続的な出力ディレクトリを指定します。 crontab 0 4 * * * /usr/bin/pgbadger -I -q …
レプリカのイメージングとブートストラップ
Patroni を使用すると、新しいレプリカの作成をカスタマイズできます。また、新しい空のクラスターがブートストラップされるときに何が起こるかの定義もサポートします。 2 つの区別は明確に定義されています。Patroni は、initialize キーがクラスターの DCS に存在する場合にのみレプリカを作成します。 initialize キーがない場合、Patroni は初期化キー ロックを取得する最初のノードで排他的にブートストラップを呼び出します。 ブートストラップ PostgreSQL …
Patroni を使用すると、新しいレプリカの作成をカスタマイズできます。また、新しい空のクラスターがブートストラップされるときに何が起こるかの定義もサポートします。 2 つの区別は明確に定義されています。Patroni は、initialize キーがクラスターの DCS に存在する場合にのみレプリカを作成します。 initialize キーがない場合、Patroni は初期化キー ロックを取得する最初のノードで排他的にブートストラップを呼び出します。 ブートストラップ PostgreSQL …
並列処理
pgBadgerには相互に補完する2つのマルチプロセスモードがあります。単にCPU数だけでなく、入力の構成に応じて選択してください。 オプション 並列処理の単位 適する入力 主な制約 -j N / --jobs N 単一ログファイルの分割片 大きなシーク可能なログ1つ 分割境界で少数のクエリーが重複または欠落する場合があります -J N / --Jobs N ログファイル全体 多数の独立したログ ワーカーを稼働させ続けるだけのファイル数がある場合にのみ効果があります -jで大きなファイルを分割す …
pgBadgerには相互に補完する2つのマルチプロセスモードがあります。単にCPU数だけでなく、入力の構成に応じて選択してください。 オプション 並列処理の単位 適する入力 主な制約 -j N / --jobs N 単一ログファイルの分割片 大きなシーク可能なログ1つ 分割境界で少数のクエリーが重複または欠落する場合があります -J N / --Jobs N ログファイル全体 多数の独立したログ ワーカーを稼働させ続けるだけのファイル数がある場合にのみ効果があります -jで大きなファイルを分割す …
PostgreSQLのログ設定
pgBadgerでレポートできるのは、PostgreSQLがログに書き出した情報だけです。まず解析可能なプレフィックスと、目的に応じたステートメントのログ出力方針を設定し、次に分析したい運用イベントを追加してください。 クエリーログの最小構成 クエリー本文と実行時間を記録するには、実行時間に基づくステートメントのログ出力を有効にします。 log_min_duration_statement = 0 0を指定すると、完了したすべてのステートメントが記録されます。負荷の高いサーバーでは、ログ量を抑え …
pgBadgerでレポートできるのは、PostgreSQLがログに書き出した情報だけです。まず解析可能なプレフィックスと、目的に応じたステートメントのログ出力方針を設定し、次に分析したい運用イベントを追加してください。 クエリーログの最小構成 クエリー本文と実行時間を記録するには、実行時間に基づくステートメントのログ出力を有効にします。 log_min_duration_statement = 0 0を指定すると、完了したすべてのステートメントが記録されます。負荷の高いサーバーでは、ログ量を抑え …
PgBouncer コマンドの使用法
概要 pgbouncer [-d][-R][-v][-u user] <pgbouncer.ini> pgbouncer -V|-h Windows では、次のオプションが利用可能です: pgbouncer.exe [-v][-u user] <pgbouncer.ini> pgbouncer.exe -V|-h Windows サービスの設定に追加で使用できるオプション: pgbouncer.exe --regservice <pgbouncer.ini> pgbouncer.exe …
概要 pgbouncer [-d][-R][-v][-u user] <pgbouncer.ini> pgbouncer -V|-h Windows では、次のオプションが利用可能です: pgbouncer.exe [-v][-u user] <pgbouncer.ini> pgbouncer.exe -V|-h Windows サービスの設定に追加で使用できるオプション: pgbouncer.exe --regservice <pgbouncer.ini> pgbouncer.exe …