一:前言相关
环境:Red Hat 8.3.1-5
安装程序:PostgreSQL 14.1,TimescaleDB 2.5.1,cmake3.22.1
PostgreSQL编译安装需要cmake3.4以上的版本
TimescaleDB目前只支持PostgreSQL 9.6.3+,10.9+或11.4+
二、postgresql11部署
1、安装cmake
下载Cmake
安装gcc++ 后,再安装cmake
[root@TimescaleDB apps]# yum install -y gcc*
[root@TimescaleDB apps]# wget https://cmake.org/files/v3.22/cmake-3.22.1.tar.gz
[root@TimescaleDB cmake]# tar -zxvf cmake-3.22.1.tar.gz
编译安装cmake
[root@TimescaleDB cmake]# ./bootstrap && make && makeinstal
建立软连接
[root@TimescaleDB cmake-v3.8.2]# ln -s/usr/local/bin/cmake /usr/bin/cmake
查看版本
[root@TimescaleDB cmake-3.22.1]# cmake --version
安装cmake
2、安装postgresql
[root@TimescaleDB apps]# wget https://ftp.postgresql.org/pub/source/v14.1/postgresql-14.1.tar.gz
[root@TimescaleDB apps]# tar -zxvf postgresql-14.1.tar.gz
安装依赖包
[root@TimescaleDB postgresql]# yum install -y zlib
[root@TimescaleDB postgresql]# ./configure --prefix=/usr/local/postgresql --with-readline --with-zlib
[root@TimescaleDB postgresql]# make && make install
1.安装postgresql
问题:安装postgreSQL出现configure:error:readline library not found
转自:
要安装 readline, readline-dev开发包,要么使用 --without-readline选项关闭 readline 功能。
#yum install readline;
#yum install readline-dev;
readline 也就是命令行编辑,关闭的话,你直接用psql 就不能编辑命令行,如果输错指令,不能回滚命令历史记录,只能手工重新输入
例如:[root@TimescaleDB postgresql]# yum -y install -y readline-devel
解决方法
在/etc/profile最后,添加以下内容
这一步很关键,如果不设置的话,postgresql的安装命令就不能使用
[root@TimescaleDB postgresql]#vi/etc/profile
exportPG_CONFIG=/usr/local/postgresql/bin/pg_config:$PG_CONFIG
exportPGDATA=/usr/local/postgresql/data:$PGDATA
export PATH=/usr/local/postgresql/bin:$PATH
exportLD_LIBRARY_PATH=/usr/local/postgresql/lib:$LD_LIBRARY_PATH
[root@TimescaleDB postgresql]#source /etc/profile
2.设置环境变量并保存执行
[root@TimescaleDB postgresql]# groupadd postgres
[root@TimescaleDB postgresql]# useradd -g postgres postgres
[root@TimescaleDB postgresql]# passwd postgres
[root@TimescaleDB postgresql]# mkdir /usr/local/postgresql/data
[root@TimescaleDB postgresql]# chown postgres /usr/local/postgresql/data
[root@TimescaleDB postgresql]# chgrp postgres /usr/local/postgresql/data
3.创建用户和用户组,创建数据库文件目录
4.初始化数据库并修改配置
切换用户,初始化数据库(如果不切换账户直接用root进行初始化,会报错)
[root@TimescaleDB postgresql]# su postgres
[postgres@TimescaleDB postgresql]$ /usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data
4.1切换用户,初始化数据库
配置访问权限
[postgres@TimescaleDB postgresql]$ vi /usr/local/postgresql/data/pg_hba.conf
host all all 0.0.0.0/0 md5
配置监控地址,连接端口号
[postgres@TimescaleDB ~]$ vi /usr/local/postgresql/data/postgresql.conf
listen_addresses配置监听地址范围,改为*则为所有
listen_addresses = '*'
port = 5432 # (change requires restart)
4.2配置访问权限、监听地址及端口
5.启动数据库
postgres@TimescaleDB ~]$/usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l /usr/local/postgresql/data/logfile start
6.修改数据库密码
postgres@TimescaleDB ~]$ psql
postgres=# \password postgres
三、安装timescaledb(把postgres 改成 timescaledb时序库)
软件包链接https://codeload.github.com/timescale/timescaledb/zip/master
从源安装自托管 TimescaleDB(官网https://docs.timescale.com/install/latest/self-hosted/installation-source/#configuring-postgresql-after-installing-from-source)
git clone https://github.com/timescale/timescaledb.git
cd timescaledb
查看最新版本。您可以在我们的发布页面上找到最新的发布标签:https://github.com/timescale/timescaledb/releases
git checkout 2.5.1
引导构建系统:
./bootstrap -DUSE_OPENSSL=0 -DREGRESS_CHECKS=OFF
构建扩展:
cd build && make
安装 TimescaleDB:
make install
1、安装timescaledb
编辑postgresql.conf文件,添加timescaledb库
[root@TimescaleDB postgresql]# su postgres
[postgres@TimescaleDB postgresql]$ vim /usr/local/postgresql/data/postgresql.conf
shared_preload_libraries = 'timescaledb' # (change requires restart)
2、配置timescaledb
3.重启postgresql数据库
postgres@TimescaleDB ~]$/usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l /usr/local/postgresql/data/logfile restart
4.添加timescaledb扩展
postgres@TimescaleDB ~]$ psql
postgres=# create extension timescaledb;
5、验证timescaleDB扩展安装完成
postgres@TimescaleDB ~]$ psql
postgres=# create database tutorial;
postgres=# \c tutorial
tutorial=# create extension if not exists timescaledb cascade;
验证完成,timescaleDB扩展安装成功
5、验证timescaleDB扩展安装完成
四、其他
1.查看版本号和系统类别:cat /etc/redhat-realease;
2.如果是redhat:(yum install)
a.yum 删除软件包:
rpm -qa | grep postgresql
yum remove postgresql*
b.删除相关目录文件:
rm -rf /var/lib/pgsql
rm -rf /usr/pgsql*
c.删除pg相关用户组/用户
userdel -r postgres groupdel postgres
如果是ubuntu /centos:(暂时没实践,做个笔记备用)(apt-get install)
如果在运行,默认的5432端口就能被监听到,请运行 sudo service postgresql stop 暂停服务。
在命令行输入sudo apt-get --purge remove postgresql
删除postgresql安装包,安装删除后还有删除对应的配置sudo rm -r /etc/postgresql/
sudo rm -r /etc/postgresql-common/
sudo rm -r /var/lib/postgresql/
sudo userdel -r postgres
sudo groupdel postgres
最后删除用户/用户组
1.完全删除postgres
2.远程连接方式
2.1 navicat(这里不做说明)
2.2 pgAdmin
下载地址:https://www.pgadmin.org/download/pgadmin-4-windows/
总结:
1、安装cmake
2、安装postgresql
3、安装timescaledb(把postgres 改成 timescaledb时序库)
启动命令:
postgres@TimescaleDB ~]$/usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l /usr/local/postgresql/data/logfile restart
postgres@TimescaleDB ~]$/usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l /usr/local/postgresql/data/logfile start
postgres@TimescaleDB ~]$/usr/local/postgresql/bin/pg_ctl stop -D /usr/local/postgresql/data