centos 安装Postgretsql

前言:

  • 官方的安装教程:https://www.postgresql.org/download/linux/redhat/
  • 官方教程中似乎只支持centos 6和7,并且采用yum下载安装Postgretsql的版本也只有Postgretsql8Postgretsql9的;想装所以其他版本的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

完成!!!

posted @ 2024-08-23 18:17  二月雪  阅读(6)  评论(0编辑  收藏  举报