deform_test.sh.txt

text/plain

Filename: deform_test.sh.txt
Type: text/plain
Part: 0
Message: Re: Make tuple deformation faster
#!/bin/bash

dbname=postgres
secs=10
extra_cols_start=0
extra_cols_end=50
extra_cols_increment=5
psql -c "alter system set max_parallel_workers_per_gather = 0;" $dbname > /dev/null
psql -c "alter system set jit = 0;" $dbname > /dev/null
psql -c "select pg_reload_conf();" $dbname > /dev/null
psql -c "create extension if not exists pg_prewarm;" $dbname > /dev/null

#for rows in 100000
for rows in 10000 100000 1000000 10000000
do
	for c in $(seq $extra_cols_start $extra_cols_increment $extra_cols_end)
	do
		psql -c "drop table if exists t1;" $dbname > /dev/null
		sql="create table t1 (z int not null default 0"
		for i in $(seq 0 $c)
		do
			sql="$sql,c$i int not null default 0"
		done
		sql="$sql,a int not null);"
		psql -c "$sql" $dbname > /dev/null

		psql -c "insert into t1 (a) select a from generate_series(1,$rows) a;" $dbname > /dev/null
		psql -c "vacuum freeze analyze t1;" $dbname > /dev/null
		psql -c "select pg_prewarm('t1');" $dbname > /dev/null

		echo "select sum(a) from t1;" > bench.sql
		for i in {1..3}
		do
			echo -n "$rows rows extra_cols $c run $i "
			pgbench -n -f bench.sql -M prepared -T $secs $dbname | grep tps
		done
	done
done