Pgpool questions

Started by Brian Maguirealmost 21 years ago9 messagesgeneral
Jump to latest
#1Brian Maguire
bmaguire@vantage.com

I have a couple Pgpool questions regarding running pgpool as a load balancer with Sony as the replicator.

Is there anyway to load balance selects to more than 2 servers? ex. 1 master with 2 slaves? Run multiple instances?

Is there any way to tell a select (ex. with a function) to go only the master and not the slave?

Is there any way to tell a select query to only go to the slave?

Thanks

#2Joshua D. Drake
jd@commandprompt.com
In reply to: Brian Maguire (#1)
Re: Pgpool questions

Brian Maguire wrote:

I have a couple Pgpool questions regarding running pgpool as a load balancer with Sony as the replicator.

Is there anyway to load balance selects to more than 2 servers? ex. 1 master with 2 slaves? Run multiple instances?

My understanding is that if you turn on the load balancing it will
automatically do so for all servers.

Is there any way to tell a select (ex. with a function) to go only the master and not the slave?

Run it in a transaction with BEGIN;

Is there any way to tell a select query to only go to the slave?

That i don't know.

Sincerely,

Joshua D. Drake
Command Prompt, Inc.

Show quoted text

Thanks

---------------------------(end of broadcast)---------------------------TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq

#3Alvaro Herrera
alvherre@dcc.uchile.cl
In reply to: Joshua D. Drake (#2)
Re: Pgpool questions

On Sat, Apr 23, 2005 at 08:37:02AM -0700, Joshua D. Drake wrote:

Brian Maguire wrote:

Is there any way to tell a select query to only go to the slave?

That i don't know.

I think Tatsuo said recently that it was an interesting suggestion and
the he'd look into implementing it.

--
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"La persona que no quer�a pecar / estaba obligada a sentarse
en duras y empinadas sillas / desprovistas, por cierto
de blandos atenuantes" (Patricio Vogel)

#4Tatsuo Ishii
t-ishii@sra.co.jp
In reply to: Brian Maguire (#1)
Re: Pgpool questions

I have a couple Pgpool questions regarding running pgpool as a load balancer with Sony as the replicator.

Is there anyway to load balance selects to more than 2 servers? ex. 1 master with 2 slaves? Run multiple instances?

It's on my TODO but will not be a trivial change.

Is there any way to tell a select (ex. with a function) to go only the master and not the slave?

Pgpool will send any query not starting with "SELECT" or "select" to
the master. So you can insert a white space or a comment, for example
"/* NO LOAD BALANCE */" at the beginning of the line to prevent the
query to be sent to the slave.

Is there any way to tell a select query to only go to the slave?

Set weight_secondary to 0.
--
Tatsuo Ishii

#5Ron Mayer
rm_pg@cheapcomplexdevices.com
In reply to: Tatsuo Ishii (#4)
Re: Pgpool questions

Tatsuo Ishii wrote:

Is there anyway to load balance selects to more than 2 servers? ex. 1 master with 2 slaves? Run multiple instances?

It's on my TODO but will not be a trivial change.

Could I set up 2 pairs of pgpool-balanced servers, and use a
third pgpool to load balance across the two pools?
Or is that just silly.

#6Scott Marlowe
smarlowe@g2switchworks.com
In reply to: Ron Mayer (#5)
Re: Pgpool questions

On Sun, 2005-04-24 at 00:53, Ron Mayer wrote:

Tatsuo Ishii wrote:

Is there anyway to load balance selects to more than 2 servers? ex. 1 master with 2 slaves? Run multiple instances?

It's on my TODO but will not be a trivial change.

Could I set up 2 pairs of pgpool-balanced servers, and use a
third pgpool to load balance across the two pools?
Or is that just silly.

I've actually thought of doing the same thing. I can't see a reason why
it wouldn't work.

#7Tatsuo Ishii
t-ishii@sra.co.jp
In reply to: Scott Marlowe (#6)
Re: Pgpool questions

On Sun, 2005-04-24 at 00:53, Ron Mayer wrote:

Tatsuo Ishii wrote:

Is there anyway to load balance selects to more than 2 servers? ex. 1 master with 2 slaves? Run multiple instances?

It's on my TODO but will not be a trivial change.

Could I set up 2 pairs of pgpool-balanced servers, and use a
third pgpool to load balance across the two pools?
Or is that just silly.

I've actually thought of doing the same thing. I can't see a reason why
it wouldn't work.

Oh, cascading pgpool! Actually once I have tried it and it definitly
worked. The only concern is the overhead due to the cascading...
--
Tatsuo Ishii

#8Brian Maguire
bmaguire@vantage.com
In reply to: Tatsuo Ishii (#7)
Re: Pgpool questions

Thanks.

Is it on your todo list to something like this...? It is the opposite
of "/* NO LOAD BALANCE */".

Make a "/* SLAVE */" type comment to force it to a slave? It would be
helpful in forcing a query to a reporting server if you know your what
your reporting queries are.

"Set weight_secondary to 0."

Did you mean Set weight_master to 0. Unfortunately this would not help
on a query by query basis, but the above would.

-----Original Message-----
From: Tatsuo Ishii [mailto:t-ishii@sra.co.jp]
Sent: Saturday, April 23, 2005 7:23 PM
To: Brian Maguire
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Pgpool questions

I have a couple Pgpool questions regarding running pgpool as a load

balancer with Sony as the replicator.

Is there anyway to load balance selects to more than 2 servers? ex. 1

master with 2 slaves? Run multiple instances?

It's on my TODO but will not be a trivial change.

Is there any way to tell a select (ex. with a function) to go only the

master and not the slave?

Pgpool will send any query not starting with "SELECT" or "select" to

the master. So you can insert a white space or a comment, for example

"/* NO LOAD BALANCE */" at the beginning of the line to prevent the

query to be sent to the slave.

Is there any way to tell a select query to only go to the slave?

Set weight_secondary to 0.

--

Tatsuo Ishii

#9Tatsuo Ishii
t-ishii@sra.co.jp
In reply to: Brian Maguire (#8)
Re: Pgpool questions

Ok, I have added per query basis weight control to my TODO list.
--
Tatsuo Ishii

Show quoted text

Thanks.

Is it on your todo list to something like this...? It is the opposite
of "/* NO LOAD BALANCE */".

Make a "/* SLAVE */" type comment to force it to a slave? It would be
helpful in forcing a query to a reporting server if you know your what
your reporting queries are.

"Set weight_secondary to 0."

Did you mean Set weight_master to 0. Unfortunately this would not help
on a query by query basis, but the above would.

-----Original Message-----
From: Tatsuo Ishii [mailto:t-ishii@sra.co.jp]
Sent: Saturday, April 23, 2005 7:23 PM
To: Brian Maguire
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Pgpool questions

I have a couple Pgpool questions regarding running pgpool as a load

balancer with Sony as the replicator.

Is there anyway to load balance selects to more than 2 servers? ex. 1

master with 2 slaves? Run multiple instances?

It's on my TODO but will not be a trivial change.

Is there any way to tell a select (ex. with a function) to go only the

master and not the slave?

Pgpool will send any query not starting with "SELECT" or "select" to

the master. So you can insert a white space or a comment, for example

"/* NO LOAD BALANCE */" at the beginning of the line to prevent the

query to be sent to the slave.

Is there any way to tell a select query to only go to the slave?

Set weight_secondary to 0.

--

Tatsuo Ishii