Tests
Suites
Latest Results
Search
Register
Login
Popular Tests
Flexible IO Tester
Timed Linux Kernel Compilation
Blender
SVT-AV1
PostgreSQL
7-Zip Compression
Newest Tests
OpenVINO GenAI
Rustls
LiteRT
WarpX
Epoch
Valkey
Recently Updated Tests
srsRAN Project
VVenC
x265
RELION
Llamafile
Llama.cpp
New & Recently Updated Tests
Recently Updated Suites
Machine Learning
Server Motherboard
HPC - High Performance Computing
New & Recently Updated Suites
Component Benchmarks
CPUs / Processors
GPUs / Graphics
OpenGL
Disks / Storage
Motherboards
File-Systems
Operating Systems
OpenBenchmarking.org
Corporate / Organization Info
Bug Reports / Feature Requests
HammerDB - PostgreSQL 1.0.0
pts/hammerdb-postgresql-1.0.0
- 24 April 2021 -
HammerDB PostgreSQL benchmark test profile.
downloads.xml
<?xml version="1.0"?> <!--Phoronix Test Suite v10.4.0m1--> <PhoronixTestSuite> <Downloads> <Package> <URL>http://ftp.postgresql.org/pub/source/v13.0/postgresql-13.0.tar.bz2</URL> <MD5>4ebb1fd40b647c6127623f2a737f8e88</MD5> <SHA256>80e750be8d436b54197636a02636f8fd3263ba6779bf865b04832495ea592296</SHA256> <FileName>postgresql-13.0.tar.bz2</FileName> <FileSize>20999465</FileSize> </Package> <Package> <URL>https://github.com/TPC-Council/HammerDB/releases/download/v4.0/HammerDB-4.0-Linux.tar.gz</URL> <MD5>fa9c4e2654a49f856cecf63c8ca9be5b</MD5> <SHA256>9274d8158ba0830e5aafa9263fd865cf61163a0b2c190dfad4d4bf1b61bd6c90</SHA256> <FileName>HammerDB-4.0-Linux.tar.gz</FileName> <FileSize>5036787</FileSize> </Package> </Downloads> </PhoronixTestSuite>
install.sh
#!/bin/sh version=13.0 tar -xjf postgresql-${version}.tar.bz2 rm -rf $HOME/pg_ mkdir -p $HOME/pg_/data/postgresql/extension/ touch $HOME/pg_/data/postgresql/extension/plpgsql.control # Junk up the root checking code so test profiles can easily run as root patch -p0 <<'EOF' diff -Naur postgresql-13.0.orig/src/backend/main/main.c postgresql-13.0/src/backend/main/main.c --- postgresql-13.0.orig/src/backend/main/main.c 2020-09-21 16:47:36.000000000 -0400 +++ postgresql-13.0/src/backend/main/main.c 2020-09-24 11:04:01.332286329 -0400 @@ -59,7 +59,7 @@ int main(int argc, char *argv[]) { - bool do_check_root = true; + bool do_check_root = false; /* * If supported on the current platform, set up a handler to be called if diff -Naur postgresql-13.0.orig/src/bin/initdb/initdb.c postgresql-13.0/src/bin/initdb/initdb.c --- postgresql-13.0.orig/src/bin/initdb/initdb.c 2020-09-21 16:47:36.000000000 -0400 +++ postgresql-13.0/src/bin/initdb/initdb.c 2020-09-24 11:05:19.272500559 -0400 @@ -631,7 +631,7 @@ { const char *username; -#ifndef WIN32 +#if 0 if (geteuid() == 0) /* 0 is root's uid */ { pg_log_error("cannot be run as root"); diff -Naur postgresql-13.0.orig/src/bin/pg_ctl/pg_ctl.c postgresql-13.0/src/bin/pg_ctl/pg_ctl.c --- postgresql-13.0.orig/src/bin/pg_ctl/pg_ctl.c 2020-09-21 16:47:36.000000000 -0400 +++ postgresql-13.0/src/bin/pg_ctl/pg_ctl.c 2020-09-24 11:05:54.732601534 -0400 @@ -2310,7 +2310,7 @@ /* * Disallow running as root, to forestall any possible security holes. */ -#ifndef WIN32 +#if 0 if (geteuid() == 0) { write_stderr(_("%s: cannot be run as root\n" diff -Naur postgresql-13.0.orig/src/bin/pg_upgrade/option.c postgresql-13.0/src/bin/pg_upgrade/option.c --- postgresql-13.0.orig/src/bin/pg_upgrade/option.c 2020-09-21 16:47:36.000000000 -0400 +++ postgresql-13.0/src/bin/pg_upgrade/option.c 2020-09-24 11:06:50.900765457 -0400 @@ -97,9 +97,6 @@ } } - /* Allow help and version to be run as root, so do the test here. */ - if (os_user_effective_id == 0) - pg_fatal("%s: cannot be run as root\n", os_info.progname); while ((option = getopt_long(argc, argv, "d:D:b:B:cj:ko:O:p:P:rs:U:v", long_options, &optindex)) != -1) EOF cd postgresql-${version} ./configure --prefix=$HOME/pg_ --without-readline --without-zlib if [ "$OS_TYPE" = "BSD" ] then gmake -j $NUM_CPU_CORES gmake -C contrib/pgbench all # echo $? > ~/install-exit-status gmake install gmake -C contrib/pgbench install else make -j $NUM_CPU_CORES make -C contrib/pgbench all # echo $? > ~/install-exit-status make install make -C contrib/pgbench install fi cd ~ rm -rf postgresql-${version}/ rm -rf pg_/doc/ # initialize database with encoding and locale PGUSER=`basename $DEBUG_REAL_HOME` $HOME/pg_/bin/initdb -D $HOME/pg_/data/db -U $PGUSER --encoding=SQL_ASCII --locale=C cd ~ tar -xf HammerDB-4.0-Linux.tar.gz echo "#!/bin/sh PGDATA=\$HOME/pg_/data/db/ PGPORT=7777 export PGDATA export PGPORT # start server pg_/bin/pg_ctl start -o '-c autovacuum=false -c max_connections=1000 -c synchronous_commit=off ' # wait for server to start sleep 10 pg_/bin/createdb postgres pg_/bin/psql --command '\du' pg_/bin/psql --command '\password postgres' cd ~/HammerDB-4.0/ echo \"puts \\\"SETTING CONFIGURATION\\\" dbset db pg diset connection pg_host localhost diset connection pg_port \$PGPORT diset tpcc pg_count_ware \$2 diset tpcc pg_partition false diset tpcc pg_num_vu \$1 diset tpcc pg_superuser $PGUSER diset tpcc pg_superuserpass postgres diset tpcc pg_defaultdbase postgres diset tpcc pg_user tpcc diset tpcc pg_pass tpcc diset tpcc pg_dbase tpcc print dict buildschema waittocomplete\" > schemabuild.tcl ./hammerdbcli auto schemabuild.tcl echo \"#vi psqlrun.tcl puts \\\"SETTING CONFIGURATION\\\" dbset db pg diset connection pg_host localhost diset connection pg_port \$PGPORT diset tpcc pg_superuser $PGUSER diset tpcc pg_driver timed diset tpcc pg_rampup 2 diset tpcc pg_duration 5 diset tpcc pg_vacuum true vuset logtotemp 1 loadscript puts \\\"TEST STARTED\\\" vuset vu \$1 vucreate vurun runtimer 500 vudestroy puts \\\"TEST COMPLETE\\\"\" > psqlrun.tcl ./hammerdbcli auto psqlrun.tcl > \$LOG_FILE 2>&1 cd ~ # stop server pg_/bin/pg_ctl stop" > hammerdb-postgresql chmod +x hammerdb-postgresql
results-definition.xml
<?xml version="1.0"?> <!--Phoronix Test Suite v10.4.0m1--> <PhoronixTestSuite> <ResultsParser> <OutputTemplate>Vuser 1:TEST RESULT : System achieved #_RESULT_# NOPM from 16917 MySQL TPM</OutputTemplate> <LineHint>System achieved</LineHint> <ResultScale>New Orders Per Minute</ResultScale> </ResultsParser> <ResultsParser> <OutputTemplate>Vuser 1:TEST RESULT : System achieved 555 NOPM from #_RESULT_# MySQL TPM</OutputTemplate> <LineHint>System achieved</LineHint> <ResultScale>Transactions Per Minute</ResultScale> </ResultsParser> </PhoronixTestSuite>
test-definition.xml
<?xml version="1.0"?> <!--Phoronix Test Suite v10.4.0m1--> <PhoronixTestSuite> <TestInformation> <Title>HammerDB - PostgreSQL</Title> <AppVersion>13</AppVersion> <Description>This is a benchmark of the PostgreSQL database server, making use of the HammerDB benchmarking / load testing tool.</Description> <ResultScale>TPS</ResultScale> <Proportion>HIB</Proportion> <TimesToRun>3</TimesToRun> </TestInformation> <TestProfile> <Version>1.0.0</Version> <SupportedPlatforms>Linux, MacOSX, BSD</SupportedPlatforms> <SoftwareType>Benchmark</SoftwareType> <TestType>System</TestType> <License>Free</License> <Status>Verified</Status> <ExternalDependencies>build-utilities</ExternalDependencies> <EnvironmentSize>1500</EnvironmentSize> <ProjectURL>http://www.postgresql.org/</ProjectURL> <InternalTags>SMP</InternalTags> <Maintainer>Michael Larabel</Maintainer> </TestProfile> <TestSettings> <Option> <DisplayName>Virtual Users</DisplayName> <Identifier>virtual-users</Identifier> <Menu> <Entry> <Name>8</Name> <Value>8</Value> </Entry> <Entry> <Name>16</Name> <Value>16</Value> </Entry> <Entry> <Name>32</Name> <Value>32</Value> </Entry> <Entry> <Name>64</Name> <Value>64</Value> </Entry> <Entry> <Name>128</Name> <Value>128</Value> </Entry> <Entry> <Name>256</Name> <Value>256</Value> </Entry> <Entry> <Name>512</Name> <Value>512</Value> </Entry> </Menu> </Option> <Option> <DisplayName>Warehouses</DisplayName> <Identifier>warehouses</Identifier> <Menu> <Entry> <Name>250</Name> <Value>250</Value> </Entry> <Entry> <Name>500</Name> <Value>500</Value> </Entry> <Entry> <Name>1000</Name> <Value>1000</Value> </Entry> </Menu> </Option> </TestSettings> </PhoronixTestSuite>