CTOS8 postgres10在解压安装模式下安装TimescaleDB和pgcrypto插件
正好研究了一下,借机会记录下过程
注意:本文默认针对的是默认数据库postgres,如果你的数据库叫别的名字比如:****,那么每次你进入psql后需要执行切换数据库的命令:
/c **** 之后在执行安装插件等命令
安装TimescaleDB
1.如果你的postgres是解压缩安装模式而不是yum install那么需要安装了postgresql10-devel(10对应的是我postgre版本号10,具体情况别忘修改):
yum install postgresql10-devel
2.安装camke用于编译:
yum install -y cmake3
2.1 有时候系统会报错缺少redhat.***的包,需要安装下面插件:
sudo dnf install redhat-rpm-config
3.检查环境变量,将pgsql主目录加进path
export PATH=/usr/pgsql-10:$PATH
(注:目录根据个人情况修改)
4.下载timescaledb的source,我是直接从https://github.com/timescale/timescaledb/releases 下载1.7.0后传输到了服务器,也可以直接wget方式下载。
5.unzip timescaledb-1.7.0.zip
6.修改文件夹所有人和权限(正常安装完postgres后会需要建造一个postgres用户,这里默认已经建造完毕):
chown -R postgres:postgres timescaledb-1.7.0
chmod -R 775 timescaledb-1.7.0
7.cd进入timescaledb-1.7.0主目录(刚才解压文件后的目录
执行 ./bootstrap -DUSE_OPENSSL=0 -DREGRESS_CHECKS=OFF
8.成功后该目录下会生成一个build文件夹,cd build 后执行make。可能会报2.1中的redhat错误,安装相应插件(工具)即可。安装成功后执行make install
9.此时Timescale插件已经安装成功了,需要配置到PSQL中并且重启PSQL以生效:
echo “shared_preload_libraries = ‘timescaledb’” >> /var/lib/pgsql/10/data/postgresql.conf (文件夹会根据版本号等需要改变,如果实在找不到可以去psql命令行执行 CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; 之后psql会提示你需要设置preload libraries,根据提示执行就可以了
10.之后需要重启psql数据库,一种是切换postres账户后(su - postgres)执行 pg_ctl restart,但是我服务器psql是别人按得,提示缺少环境变量$PGDATA。这时候就可以用第二种方法重启服务,但是重启服务影响会大一点:
systemctl stop postgresql-10.service
systemctl start postgresql-10.service
(版本号根据情况需要自行修改)
至此切换至postgres账户,进去psql执行:CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; 就可以看到成功的logo了
安装pgcrypto
这个相对就简单多了:
yum install postgresql10-contrib.x86_64
可以根据自己的psql版本号进行相应修改