:

. traprm

export QUIET=$((QUIET + 1))

> /rtmp/out

export PGOPTIONS="-c synchronous_commit=off"

for CYCLES in 1 1000 2000 4000 8000 16000 32000 64000
do
	echo "$CYCLES" >> /rtmp/out

	for DIR in /pgsql/CURRENT
	do	echo "$DIR" >> /rtmp/out
		cd "$DIR"
		pginstall
		cd -

		# need for +16k
		pipe sed 's/#max_locks_per_transaction = 64/max_locks_per_transaction = 64000/' /u/pg/data/postgresql.conf
		pipe sed 's/shared_buffers = 128MB/shared_buffers = 1GB/' /u/pg/data/postgresql.conf
		pipe sed 's/#work_mem = 1MB/work_mem = 500MB/' /u/pg/data/postgresql.conf
		pipe sed 's/#maintenance_work_mem = 16MB/maintenance_work_mem = 500MB/' /u/pg/data/postgresql.conf
		pgrestart
		sleep 2

		echo "table creation" >> /rtmp/out
		newdb test
		for JOT in $(jot "$CYCLES"); do echo "CREATE TABLE test$JOT (x SERIAL PRIMARY KEY);"; done| sql test

		echo "pg_dump creation" >> /rtmp/out
		/usr/bin/time --output=/rtmp/out --append --format '%e' aspg pg_dump --schema-only --format=custom test > $TMP/1

		echo "pg_dump restore" >> /rtmp/out
		newdb test
		/usr/bin/time --output=/rtmp/out --append --format '%e' aspg pg_restore --exit-on-error --dbname=test $TMP/1

		echo "dump -Fc|restore" >> /rtmp/out
		newdb test2
		/usr/bin/time --output=/rtmp/out --append --format '%e' sh -c "aspg pg_dump --schema-only --format=custom test |
			aspg pg_restore --exit-on-error --dbname=test2" > $TMP/1

		echo "dump -Fc|restore, --single-transaction" >> /rtmp/out
		newdb test2
		/usr/bin/time --output=/rtmp/out --append --format '%e' sh -c "aspg pg_dump --schema-only --format=custom test |
			aspg pg_restore --exit-on-error --single-transaction --dbname=test2" > $TMP/1

		echo "combined dump -Fc/restore -j" >> /rtmp/out
		newdb test2
		/usr/bin/time --output=/rtmp/out --append --format '%e' sh -c "aspg pg_dump --schema-only --format=custom test > $TMP/1
			aspg pg_restore --exit-on-error --dbname=test2 --jobs=16 $TMP/1"

		echo "combined text dump|restore" >> /rtmp/out
		newdb test2
		/usr/bin/time --output=/rtmp/out --append --format '%e' sh -c "aspg pg_dump --schema-only test |
			sql test2" > $TMP/1

		echo "combined text dump|restore --single-transaction" >> /rtmp/out
		newdb test2
		/usr/bin/time --output=/rtmp/out --append --format '%e' sh -c "aspg pg_dump --schema-only test |
			sql --set ON_ERROR_STOP=on --no-psqlrc --single-transaction test2" > $TMP/1

		pgstop
	done

	for BRANCH in master parallel
	do	cd /pgtop
		pgsw $BRANCH
		cd -
		tools/setup 9.3 9.3
		sleep 2
	
		# need for +16k
		pipe sed 's/#max_locks_per_transaction = 64/max_locks_per_transaction = 64000/' /u/pgsql.old/data/postgresql.conf
		pipe sed 's/#max_locks_per_transaction = 64/max_locks_per_transaction = 64000/' /u/pg/data/postgresql.conf
		pipe sed 's/shared_buffers = 128MB/shared_buffers = 1GB/' /u/pgsql.old/data/postgresql.conf
		pipe sed 's/shared_buffers = 128MB/shared_buffers = 1GB/' /u/pgsql/data/postgresql.conf
	
		pgstart /u/pgsql.old/data
		sleep 8
		for JOT in $(jot "$CYCLES"); do echo "CREATE TABLE test$JOT (x SERIAL PRIMARY KEY);"; done| sql test
		pgstop /u/pgsql.old/data
		sleep 2
		/usr/bin/time --output=/rtmp/out --append --format '%e' tools/upgrade
		sleep 2
	done
done

bell

