問題タブ [pgpool]
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.
postgresql - UPDATE による CTE の pgpool の処理
クラスター内の両方のサーバーに読み取り専用クエリを送信するように、ロード バランシングを有効にして pgpool-II を実行しています。
ただし、UPDATE コマンドを含む CTE クエリがあり、基になるクエリが SELECT であるため、pgpool はそれをスレーブに送信し、読み取り専用の性質のために失敗する場合があります。
たとえば、次のクエリは、一致するものを検索して表示し、それらを同時に表示したものとしてマークします。
pgpool にこれを書き込みクエリとして認識させるための提案はありますか?書き込みを分離する必要がありますか?
java - Java/JDBC アプリケーションの PgPool 負荷分散
CentOS で PgPool の可能なすべての設定をセットアップした後、Java アプリケーションを使用してテストしたところ、機能していないことがわかりました。
インターネットでマニュアルを読んだ後 (ここにあります)、JDBC ステートメントが false に設定されていると (自動コミットの場合)、JDBC ステートメントが機能しないことがわかりました。
私は Hibernate を使用しているので、トランザクションを使用して値を設定していると確信しています。
私の質問は、これが本当なら、どの方法が私のデータベースを複製するのに役立つかということです. 並列モードと聞いていますが、Java アプリケーションで動作するかどうかはわかりません。誰かガイドしてサンプルを提供してもらえますか?
node.js - Node.JS と pgpool のバージョン
node.js 'pg' モジュールを使用して、pgpool (pgpool-II) 経由で postgress を呼び出そうとしています。誰かがそのようなセットアップを機能させたことがあれば、一緒に動作することが知られている pgpool-II の正しいバージョンと 'pg' の正しいバージョンは何ですか? 私が見つけたものから、pg-pool のいくつかのバージョンにはパラメーターの回帰があるため、pg からそれらを呼び出すことはできません (これは私が現在経験していることです)。
watchdog - pgool2 ウォッチドッグが仮想 IP インターフェースをリッスンしない
仮想 IP (未使用のもの) を持つウォッチドッグを使用してレプリケーション モードで pgpool をセットアップしました。pgpool とウォッチドッグの起動が正常に完了します。
指定した IP で仮想 eth0:0 インターフェイスが作成されます192.168.143.95
。pgPool はポート 5432 で実行するように構成されています
仮想 IP:port に接続しようとすると、 psql コマンドpsql -h 192.168.143.95 -p 5432 -l
は言う
psql: could not connect to server: Connection refused
Is the server running on host "192.168.143.95" and accepting
TCP/IP connections on port 5432?
どうやら、どのポートにも仮想 IP アドレスのリッスン ソケットがありません。誰かが同様の動作構成を持っていますか? 仮想 IP アドレスに特定されていない要件がありますか (pgpool インターフェースと同じサブネットなど)?
なぜこれがうまくいかないのかについての提案に感謝します。
どうもありがとう
postgresql - pgpool II レプリケーションと postgresql レプリケーションの違いは何ですか?
私は厳密には DBA ではないので、わかりやすい回答をいただければ幸いです。DB にレプリケーションを提供する必要がありますが、pgpool の方が便利に思えます。なぜなら、1 つの postgresql インスタンスに障害が発生した場合、クライアントは何も変更しなくても作業を継続できるからです。したがって、この場合、pgpool を使用する方が理にかなっていますが、構成部分は (私には) もっと複雑でわかりにくいようです。たとえば、両方の postgresql サーバーで WAL を設定する必要がありますか? それとも、postgresql レプリケーションをセットアップしたい場合にのみ必要ですか? これらの質問に対する答えを得ようとすればするほど、答えがはっきりしなくなります。ググるの忘れたかも…
postgresql - PgPool の実行速度が非常に遅い PostreSQL
PostgreSQL でテストを実行して、かなりビジーなサーバー上で MySQL の実行可能な代替品になるかどうかを確認しています。私は次の構成を持っています:
ベンチマークで非常に遅いことが証明されているため、セットアップが最適とは言えないと感じています。
ランニングab -c 50 -n 10000
は15分以上かかりました
一方、同じサーバー上で同じテストを行いますが、MySQL への接続には 1 秒しかかかりません!
注: 各 ab 要求は挿入ステートメントです。また、設定を次のように変更しましたが、結果は改善されませんでした
ハードウェアには 12GB の RAM と Intel Xeon 2.40GHz が搭載されています。
postgresql - マルチユーザーアプリケーションの場合、JDBC を使用して pgPool-II から適切に接続を取得するにはどうすればよいですか?
私の会社では、 pgPool-II の「フェイルオーバー」、「ロード バランシング」 (そして最終的には「レプリケーション」 ) 機能を活用するためにpgPool-IIを使用する予定です。
ここでは、 Jakarta Tomcat Connector (JK)または同様のサービスを使用してクライアントとこれらのTomcatサーバー間のリンク (負荷分散) を行うサーバー クラスターによってホストされるJ2EE Tomcat Web アプリケーションがあるとします。また、Tomcatサーバー クラスターとデータベース クラスター間のリンクを行うためにpgPool-IIを使用するPostgreSQL 9.3データベースのクラスターがあると考えています。私たちのアプリケーションは、各ユーザーが (もちろんデータベースに関して) 異なる役割に関連付けられているマルチユーザー アプリケーションです。
pgPool-IIはpostgreSQLと同じプロトコルを使用しているため、通常はデータベースに接続するのと同じように、プールに接続するだけでよいことを知りました。
このメールのコピーでは、プール層が 2 つあるのは無意味なので、pgPool-IIに加えてJDBC Tomcat プールを使用する必要がないことがわかりました。プール タスクをJDBC Tomcat の poolに委譲するか、pgPool-IIに委譲しますか?
だから私の最後の質問は次のとおりです。
その場合、 JDBCを使用してpgPool-IIから適切に接続を取得するには、ユーザーがSQLリクエストを実行する必要があるたびに、 pgPool-IIへの新しい接続を要求する必要がありますか? パフォーマンスに影響しませんか?
最高のパフォーマンスを得るために、プール タスクを担当するのはどの部分ですか? JDBC Tomcat、 pgPool -II 、またはpgBouncerのような別のサービスですか? 最善のアプローチは何ですか?
前もって感謝します!
PS : 不明な点がある場合はお知らせください。投稿を編集します。