マスター(書き込み/読み取り)およびスレーブ(読み取り専用)Postgres 10データベースがあります。スレーブはマスターからのオンライン複製です。
これで、アプリケーション(c#webapi)はマスターに直接のみ接続します。スレーブですべてのSELECTクエリを実行して、ハードウェア間で負荷を分散したいと考えています。
Pgbouncerはそれで大丈夫ですか?別のツールですか?
pgBouncerはそれを行うことができず、確かにそれは疑わしい機能です。次のようなステートメントを確実に伝えるにはどうすればよいですか
SELECT pg_create_physical_replication_slot('aname');
データベースを変更しませんか?
そのような機能を誇るpgPoolがありますので、調べてみてください。
通常、より良い手法は、アプリケーションが2つのデータベース接続を使用することです。1つは読み取り用で、もう1つはデータ変更用です。それはあなたが推測しようとするツールのなすがままにはなりません。