[Pgpool-general] Pgpool-II - Parallel Query
calimlimvl at nationalbookstore.com.ph
calimlimvl at nationalbookstore.com.ph
Tue Jul 15 02:48:36 UTC 2008
Hi,
I would like to know what the replicate_def table is for in parallel query
mode and if possible, please provide a very good example to illustrate
it's use. I am having a hard time understanding the one in the manual.
Paritioning is now working with dist_def table. I have the following
SELECT CASE statement for transaction date (type date) as the col_name:
SELECT CASE
WHEN EXTRACT(MONTH FROM $1) = 1 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 31 THEN 0
WHEN EXTRACT(MONTH FROM $1) = 2 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 29 THEN 0
WHEN EXTRACT(MONTH FROM $1) = 3 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 31 THEN 0
WHEN EXTRACT(MONTH FROM $1) = 4 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 30 THEN 0
WHEN EXTRACT(MONTH FROM $1) = 5 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 31 THEN 1
WHEN EXTRACT(MONTH FROM $1) = 6 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 30 THEN 1
WHEN EXTRACT(MONTH FROM $1) = 7 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 31 THEN 1
WHEN EXTRACT(MONTH FROM $1) = 8 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 31 THEN 1
WHEN EXTRACT(MONTH FROM $1) = 9 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 30 THEN 2
WHEN EXTRACT(MONTH FROM $1) = 10 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 31 THEN 2
WHEN EXTRACT(MONTH FROM $1) = 11 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 30 THEN 2
WHEN EXTRACT(MONTH FROM $1) = 12 AND CAST(EXTRACT(DAY FROM $1) AS
integer) > 0 AND CAST(EXTRACT(DAY FROM $1) AS integer) <= 31 THEN 2
END
Question: Will this improve the speed of the query since I specifically
indicated the day range as well as the month or will this add overhead and
should stick to the simpler month-range statement? By the way, I did CAST
because it produces an error without CASTing the double-precision data
type (DAY). Month-range statement is like:
SELECT CASE WHEN EXTRACT(MONTH FROM $1) > 0 AND EXTRACT(MONTH FROM $1) <=
4 THEN 0
I have 3 backends: node0, node1, node2
I am planning to partition my very large data by transaction dates (by
quarters ... months 1-4, 5-8 and 9-12)
Anyone? Please help me understand replicate_def table better as well.
Thank you.
Regards,
Viril Calimlim
More information about the Pgpool-general
mailing list