AIoTedge产品使用手册-安装部署 【其他(postgresql源码编译)】

1、安装postgresql+timescaledb

1-1、安装postgresql

1-1-1、安装postgresql依赖

离线依赖包:

postgresql_depend.tar

💡 提示

请按照文档操作正确上传postgresql离线依赖包至指定路径,如果上传为其他路径则需要手动修改命令。

mkdir /temp/pgsql			#创建postgresql依赖存放目录
#创建postgresql依赖存放目录后 需要将上传的postgresql离线依赖包上传至该路径
cd /temp/pgsql				#切换到存放目录
tar -xvf postgresql_depend.tar	#解压

‼️ 特别注意

安装数据库依赖需要按照文章指定安装顺序安装。

dpkg -i icu-devtools_70.1-2_amd64.deb
dpkg -i libicu-dev_70.1-2_amd64.deb
dpkg -i libpkgconf3_1.8.0-1_amd64.deb
dpkg -i pkgconf_1.8.0-1_amd64.deb
dpkg -i libncurses-dev_6.3-2ubuntu0.1_amd64.deb
dpkg -i libreadline-dev_8.1.2-1_amd64.deb

1-1-2、编译数据库

💡 提示

由于postgresql官方提供ubuntu的离线方式仅为源码编译使用,下面我们需要用官方源码编译我们的数据库文件进行安装。

数据库离线源码:

postgresql-14.0.tar.gz

cd /temp/pgsql	#切换到存放目录
#将上传的postgresql数据库离线源码上传至该路径
tar -xvf postgresql-14.0.tar.gz #解压

💡 注意

数据库编译的过程比较长,请耐心等待。

useradd postgres						#创建用户
passwd postgres							#设置一个密码 方便数据库连接 可直接设置为123
mkdir /usr/local/postgresql14	#创建数据库目录
chown -R postgres:postgres /usr/local/postgresql14/	#更改权限
mkdir /usr/local/postgresql14/pgdb									#创建数据目录
chown -R postgres:postgres /usr/local/postgresql14/pgdb	#更改权限
mkdir /usr/local/postgresql14/logs									#创建日志目录
chown -R postgres:postgres /usr/local/postgresql14/logs	#更改权限
cd /temp/pgsql//postgresql-14.0
./configure --prefix=/usr/local/postgresql14		#配置
make && make install														#编译以及安装

编译安装后可以在数据库目录下查看是否有对应文件:

AIoTedge产品使用手册-安装部署 【其他(postgresql源码编译)】

1-1-3、安装数据库

su postgres				#切换postgres为用户
/usr/local/postgresql14/bin/initdb -D /usr/local/postgresql14/pgdb	#开始初始化
/usr/local/postgresql14/bin/pg_ctl -D /usr/local/postgresql14/pgdb -l /usr/local/postgresql14/logs/postgresql.log start		#启动数据库服务
exit							#退出postgres用户

图中所示服务启动成功:

AIoTedge产品使用手册-安装部署 【其他(postgresql源码编译)】

1-1-4、配置数据库服务

1-1-4-1、配置服务启停

💡 提示

为了方便数据库服务启停,还需要设置一个服务单元。

vi /etc/systemd/system/postgresql14.service

💡 提示

用vi命令进入编辑界面后复制服务单元内容到文件中。

[Service]
Type=forking
WorkingDirectory=/usr/local/postgresql14/bin/
User=postgres
ExecStart=/usr/local/postgresql14/bin/pg_ctl -D /usr/local/postgresql14/pgdb start
ExecStop=/usr/local/postgresql14/bin/pg_ctl -D /usr/local/postgresql14/pgdb stop
ExecReload=/usr/local/postgresql14/bin/pg_ctl -D /usr/local/postgresql14/pgdb restart
Restart=always
RestartSec=40s
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=postgresql
PrivateTmp=true

[Install]
WantedBy=multi-user.target
AIoTedge产品使用手册-安装部署 【其他(postgresql源码编译)】
systemctl daemon-reload
systemctl enable postgresql14.service			#允许数据库开机自启

💡 提示

由于数据库服务启动的方式不一样,需要首先关闭数据库服务服务。

su postgres				#切换postgres为用户
/usr/local/postgresql14/bin/pg_ctl -D /usr/local/postgresql14/pgdb -l /usr/local/postgresql14/logs/postgresql.log stop		#关闭数据库服务
exit							#退出postgres用户
systemctl start postgresql14.service		#启动数据库服务
systemctl stop postgresql14.service			#关闭数据库服务
systemctl restart postgresql14.service	#重启数据库服务
systemctl status postgresql14.service		#查看数据库服务状态
1-1-4-2、配置数据库访问

💡 提示

为了让外部访问数据库,需要修改配置。

sed -i  '$a\host all all 0.0.0.0/0 trust' /usr/local/postgresql14/pgdb/pg_hba.conf
sed -i  '$a\listen_addresses = \'*\'' /usr/local/postgresql14/pgdb/postgresql.conf
systemctl restart postgresql14.service	#重启服务生效

💡 注意

还需要在usr/local/postgresql14/pgdb/postgresql.conf下查看是否有这项参数,如果有则注释。

AIoTedge产品使用手册-安装部署 【其他(postgresql源码编译)】

💡 提示

完成这步后就可以用navicat等数据库管理工具访问数据库。

1-2、安装timescaledb

1-2-1、安装timescaledb依赖

离线依赖包:

timescaledb_depend.tar

💡 提示

请按照文档操作正确上传timescaledb离线依赖包至指定路径,如果上传为其他路径则需要手动修改命令。

mkdir /temp/pgsql/timescaledb		#创建存放目录
cd /temp/pgsql/timescaledb
tar -xvf timescaledb_depend.tar	#解压

‼️ 特别注意

安装数据库依赖需要按照文章指定安装顺序安装。

cd /temp/pgsql/timescaledb
dpkg -i libuv1_1.43.0-1ubuntu0.1_amd64.deb
dpkg -i libjsoncpp25_1.9.5-3_amd64.deb
dpkg -i librhash0_1.4.2-1ubuntu1_amd64.deb
dpkg -i dh-elpa-helper_2.0.9ubuntu1_all.deb
dpkg -i emacsen-common_3.0.4_all.deb
dpkg -i cmake-data_3.22.1-1ubuntu1.22.04.2_all.deb

1-2-2、添加环境变量数据库路径

cat >> /etc/profile <<EOF
#pg_config
export PGHOST=localhost
export PATH=\$PATH:/usr/local/postgresql14/bin/
EOF

1-2-3、编译数据库插件

💡 提示

由于timescaledb官方提供ubuntu的离线方式仅为源码编译使用,下面我们需要用官方源码编译我们的数据库文件进行安装。

数据库插件离线源码:

timescaledb-2.16.1.tar.gz

cd /temp/pgsql/timescaledb
tar -xvf timescaledb-2.16.1.tar.gz
cd /temp/pgsql/timescaledb/timescaledb-2.16.1
./bootstrap -DUSE_OPENSSL=0 -DREGRESS_CHECKS=OFF
cd ./build && make
make install

1-2-4、配置并安装timescaledb

💡 提示

先要修改postgersql.conf的配置,路径为/usr/local/postgresql14/pgdb/postgersql.conf。

AIoTedge产品使用手册-安装部署 【其他(postgresql源码编译)】
systemctl restart postgresql14

💡 提示

配置数据库并重启数据库服务后,在数据库管理工具(如:navicat),或数据库命令行中输入以下命令安装timescaledb插件。

create extension timescaledb;