linux源码编译-安装timescaledb数据库(中标麒麟+龙芯CPU)
linux源码编译-安装timescaledb数据库(中标麒麟+龙芯CPU)
一、官网
- 中标麒麟系统+龙芯服务器的yum源中,并没有对应的timescaledb的安装包,故只能选择源码安装,而我们postgresql也只能通过源码安装的。
- 源码GitHub:https://github.com/timescale/timescaledb
二、源码编译timescaledb所需环境
三、下载timescale库的源码
- 1、 由于最新的1.5.1版本编译make时,会出现编译错误,查找后是由于部分代码编译时会出现如下错误,
“error:“for” loop initial declarations are only allowed in c99 mode or c11 model”
查找原因是由于gcc是基于c89标准的,不支持c99标准。暂时没有找到解决把-std=c99加入的位置,故我们考虑使用旧版本的timescaledb。 - 2、 由于git clone旧版本的代码(我们选择1.4.2(或者手动下载),在git checkout 1.4.2 时会报如下错误,
“error:pathspec “1.4.2”did not match any file(s) known to git”
- 3、 若不进行git checkout这一步,编译时会报错
Fatal: bad version “head”
- 4、 我们择wget的方式下载源码,如下图所示
wget https://github.com/timescale/timescaledb/archive/1.4.2.tar.gz
四、构建
我安装pgsql时未安装openssl,故选择./bootstrap -BUSE_OPENSSL=0,若你安装了,可以选择./bootstrap。
./bootstrap
Or
./bootstrap -BUSE_OPENSSL=0
五、编译
make
六、安装
sudo su
make install
七、添加共享库到pgsql的配置文件
vi /usr/local/pgsql/data/postgresql.conf
添加内容以下内容。如下图所示
shared_preload_libraries = ‘timescaledb’
八、创建timescaledb extension
su – postgres
pc_ctl start
psql
create extension if not exists timescaledb cascade;
如下图所示