前言
在一次作业中需要用tpch(什么是tpch请自行google或百度)工具生成数据集做相应测试,故将整个配置过程和自己踩的坑做如下记录,望有助其他人节约时间。
环境
操作系统:Linux(Ubuntu16.04)
TPC-H工具:2.17.3
PostgreSQL版本:9.6.0
TPC-H工具下载网站:http://www.tpc.org/tpch/
一、生成dbgen和qgen
- 解压TPCH-tools工具在dbgen目录下找到并更改makefile.suite 生成dbgen
#makefile.suite 的更改参数如下
CC = gcc
# Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata)
# SQLSERVER, SYBASE, ORACLE, VECTORWISE
# Current values for MACHINE are: ATT, DOS, HP, IBM, ICL, MVS,
# SGI, SUN, U2200, VMS, LINUX, WIN32
# Current values for WORKLOAD are: TPCH
DATABASE = POSTGRESQL #程序给定参数没有postgresql ,修改tpcd.h 添加POSTGRESQL脚本
MACHINE = LINUX
WORKLOAD = TPCH
- 由于TPCH数据库参数没有PostgreSQL数据库选项,需要自己增加PG数据的脚本,在dbgen目录下更改tpcd.h文件
//修改tpcd.h
#ifdef POSTGRESQL
#define GEN_QUERY_PLAN "EXPLAIN"
#define START_TRAN "BEGIN TRANSACTION"
#define END_TRAN "COMMIT;"
#define SET_OUTPUT ""
#define SET_ROWCOUNT "LIMIT %d\n"
#define SET_DBASE ""
#endif /* VECTORWISE */
- 保存修改在终端中cd到dbgen目录下,执行下列命令
//保存更改,在dbgen目录下执行
make -f makefile.suite
//执行成功后在dbgen目录下生成dbgen和qgen文件
二、运行dbgen生成.tbl数据
#在dbgen目录下执行
./dbgen -s 1 -f #-s 1 表示生成1G数据 -f覆盖之前产生的文件