前言:
- 官方的安装教程:https://www.postgresql.org/download/linux/redhat/
- 官方教程中似乎只支持centos 6和7,并且采用yum下载安装Postgretsql的版本也只有
Postgretsql8
和Postgretsql9
的;想装所以其他版本的Postgresql,可以通过下载对应版本的压缩包文件,解压,编译安装
注:Postgresql各版本包下载地址:https://ftp.postgresql.org/pub/source/
操作版本:
操作系统:centos7.9
数据库:postgresql16.4
操作流程
1、创建postgres用户
useradd -m postgres # 新增一个postgres用户
passwd postgres # 设置用户密码
usermod -aG wheel postgres
2、安装依赖,(安装失败的话,可能需要设置yum环境呢:配置yum)
yum install -y systemd-devel libicu-devel perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
3、下载官网postgresql16.4
包
wget https://ftp.postgresql.org/pub/source/v16.4/postgresql-16.4.tar.gz
4、解压文件
tar -zxvf postgresql-16.4.tar.gz
5、创建数据目录
mkdir -p /usr/local/pgsql/data
6、修改授权数据目录
chown -R postgres:postgres /usr/local/pgsql/data
7、编译安装
cd postgresql-16.4
./configure
make && make install
8、切换postgres用户下,初始化数据目录
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
9、postgres用户下,启动数据库服务
# su - postgres
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
# 停止服务
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data stop
# 刷新重载服务
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data reload
10、创建名为 test 的数据库
/usr/local/pgsql/bin/createdb test
11、连接进入test数据库(进入test数据库交互终端)
/usr/local/pgsql/bin/psql test
# Ctrl + D 可以退出交互
配置postgresql.service
12、创建.service文件
# root 权限下: su - root
vim /etc/systemd/system/postgresql.service
# 输入
[Unit]
Description=PostgreSQL 16.4 database server # 自定义名称
Documentation=man:postgres(1)
After=network-online.target
Wants=network-online.target
[Service]
Type=forking
User=postgres
Group=postgres
OOMScoreAdjust=-1000
ExecStart=/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data
ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data
ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D /usr/local/pgsql/data
TimeoutSec=0
[Install]
WantedBy=multi-user.target
13、systemctl daemon-reload
14、systemctl start postgresql.service