pgbench - allow to create partitioned tables

From: Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>
To: PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: pgbench - allow to create partitioned tables
Date: 2019-07-23 18:26:17
Message-ID: alpine.DEB.2.21.1907230826190.7008@lancre
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Hello devs,

While doing some performance tests and reviewing patches, I needed to
create partitioned tables. Given the current syntax this is time
consumming.

The attached patch adds two options to create a partitioned "account"
table in pgbench.

It allows to answer quickly simple questions, eg "what is the overhead of
hash partitioning on a simple select on my laptop"? Answer:

# N=0..?
sh> pgench -i -s 1 --partition-number=$N --partition-type=hash

# then run
sh> pgench -S -M prepared -P 1 -T 10

# and look at latency:
# no parts = 0.071 ms
# 1 hash = 0.071 ms (did someone optimize this case?!)
# 2 hash ~ 0.126 ms (+ 0.055 ms)
# 50 hash ~ 0.155 ms
# 100 hash ~ 0.178 ms
# 150 hash ~ 0.232 ms
# 200 hash ~ 0.279 ms
# overhead ~ (0.050 + [0.0005-0.0008] * nparts) ms

--
Fabien.

Attachment Content-Type Size
pgbench-init-partitioned-1.patch text/x-diff 9.9 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrey Borodin 2019-07-23 18:59:00 Re: Fetching timeline during recovery
Previous Message Jeevan Ladhe 2019-07-23 17:48:50 Re: block-level incremental backup