当前位置:   article > 正文

Linux下TPC-H的使用(CentOS+PostgreSQL)_tpc-h下载

tpc-h下载

安装PostgreSQL11

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install centos-release-scl-rh -y 
yum install llvm-toolset-7-clang -y
yum install -y gcc gcc-c++  epel-release llvm5.0 llvm5.0-devel clang libicu-devel perl-ExtUtils-Embed zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel openldap-devel systemd-devel tcl-devel python-devel
yum install -y llvm5.0 llvm5.0-devel
sudo yum install -y postgresql11-devel 
sudo yum install -y postgresql11-server
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这里之所以执行了那么多语句,是因为当时需要用pgpool,所以整了一堆,可以看个人需求安装。

查看postgresql是否安装

rpm -qa | grep postgresql
  • 1

设置环境变量

vi /etc/profile
  • 1

添加下列路径

export PGSQL_HOME=/usr/pgsql-11
export PATH=$PGSQL_HOME/bin:$PATH
  • 1
  • 2
source /etc/profile
  • 1

由于postgresql不能由root权限初始化,需要新增一个用户

useradd user1
passwd user1
  • 1
  • 2

新建文件夹

mkdir /pgsql11
  • 1

添加权限

chown -R user1 /pgsql11
chown -R user1 /usr
  • 1
  • 2

这两个一个是PostgreSQL命令所在文件夹,一个是将来要建立的日志的文件夹。
其实我想更直接省事儿

chown -R user1 /
  • 1

转入新用户

查看初始化指令路径

find / -name initdb
  • 1

复制初始化路径后,转入新建立的user1

su - user1
  • 1

下面是我自己执行find / -name initdb得到的路径,根据自己的情况修改

/usr/pgsql-11/bin/initdb -D /pgsql11 -E UTF8 --locale=C -Upostgres -W
  • 1

修改配置

cd /pgsql11
vi postgresql.conf
  • 1
  • 2

添加

listen_addresses = '*'
port = 5432
log_directory = '/pgsql11/log'
  • 1
  • 2
  • 3
vi pg_hba.conf
  • 1

添加

host	all		all		0.0.0.0/0	trust
  • 1

返回root权限

exit
  • 1

执行下列命令

chown -R user1:user1 /var/run/postgresql
mkdir /pgsql11/log
vi /pgsql11/log/pgsql.log
  • 1
  • 2
  • 3

然后直接退出pgsql.log文件。
启动数据库

pg_ctl -D /pgsql11 -l /pgsql11/log/pgsql.log start
  • 1

用户登录

psql -h 192.168.111.128 -d postgres -U postgres
  • 1

这里网址要按照自己的来写,可以同过ip addr来查看,我的是192.168.111.128\24

下载解压TPC-H

打开PostgreSQL后建立数据库

CREATE DATABASE tcph;
  • 1

下面部分参考请跳转到TPC-H工具使用:生成数据及存储至数据库中,基本一致,但是补充了一些细节。
先下载tpc-h,http://www.tpc.org/tpch/,至于将tcp-h下载完成之后怎么传输至CentOS内,可以使用sftp(不过需要配置远程控制,可以参考Win10+VMware+CentOS+Hadoop+Spark+Python+Java一站式配置环境安装Cockpit之前的部分),sftp命令为sftp root@192.168.111.128进行登录,登录完成后

put -r D:\TPC-H-V3.0.1 \tpch
  • 1

前面的D:\TPC-H V3.0.1是Windows下TPC-H解压所在的文件夹,后面的\tpch是CentOS下自己创建的文件夹(当然得mkdir \tcph啦)。
还要一种方法不知可不可行

wget [url]
  • 1

[url]是TCP-H的下载链接(注意命令里不带方括号,还有就是每个下载链接好像只能用一次)。至于其他的文件传输方法都无所谓,能用就行。

生成数据

TPC-H工具使用:生成数据及存储至数据库中待生成d1.sql后,在root下运行

psql -d testdb -U postgres -f /tpch/dbgen/queries/d1.sql > data.txt
  • 1

注意到会有报错,删除报错行interval及那一行后面所有的语句,删除LIMIT -1,即可成功运行。这里不清楚TPC-H按照模板生成的查询语句是否具有逻辑正确性。
结果保存在了data.txt内。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号